classe PayoutService:
def __init__(self):
# ...
pass
def create_payout(self, idempotency_key: str, terminal_id: int, amount: float) -> dict:
"""
Deve retornar um dicionário do seguinte tipo:
{"payout_id": <int>, "terminal_id": <int>, "amount": <float>, "status": "success"}
Garantias:
- na primeira chamada com uma nova chave de idempotência — um novo pagamento é criado
- em chamadas subsequentes com uma chave de idempotência já usada — o resultado da primeira chamada é retornado,
um novo pagamento NÃO é criado
- o valor deve ser > 0, caso contrário — lançar ValueError
"""
raise NotImplementedError