classe PayoutService:
def __init__(self):
# ...
pass
def create_payout(self, idempotency_key: str, terminal_id: int, amount: float) -> dict:
"""
Deve restituire un dizionario del seguente tipo:
{"payout_id": <int>, "terminal_id": <int>, "amount": <float>, "status": "success"}
Garanzie:
- alla prima chiamata con una nuova chiave di idempotenza — viene creato un nuovo pagamento
- nelle chiamate successive con una chiave di idempotenza già usata — viene restituito
il risultato della prima chiamata, NON viene creato un nuovo pagamento
- l'importo deve essere > 0, altrimenti — sollevare ValueError
"""
raise NotImplementedError