classe PayoutService:
def __init__(self):
# ...
pass
def create_payout(self, idempotency_key: str, terminal_id: int, amount: float) -> dict:
"""
Doit retourner un dictionnaire de la forme:
{"payout_id": <int>, "terminal_id": <int>, "amount": <float>, "status": "success"}
Garanties:
- lors du premier appel avec une nouvelle clé d'idempotence — un nouveau paiement est créé
- lors des appels suivants avec une clé d'idempotence déjà utilisée — le résultat du premier appel est retourné,
un nouveau paiement n'est PAS créé
- le montant doit être > 0, sinon — lever une ValueError
"""
raise NotImplementedError