Remboursements
Rembourser une transaction
POSThttps://tupay.apps.lepetittahitien.dev/api/v1/refunds
amountXpf omis = remboursement total du reliquat.
Les remboursements partiels s'accumulent dans Transaction.refundedAmountXpf. Le status de la transaction ne passe à refunded qu'au remboursement intégral.
Paramètres d’en-tête
- exemple 9f8c1a2b-3d4e-4f60-8a71-5b2c9d0e6f13
Idempotency-Keychaîne· en-têterequisObligatoire sur cette opération. UUID v4 recommandé. Rejouer la même clé renvoie le résultat mémorisé sans réexécuter l'opération : un retry après timeout ne débite jamais deux fois.
La clé est cloisonnée par marchand : deux comptes peuvent employer la même chaîne sans jamais se voir.
Rejouer une clé avec un corps différent vaut 409
idempotency_key_reuse. Seuls l'ordre des clés JSON et l'espacement sont ignorés dans la comparaison. La méthode et le chemin font partie de l'empreinte : la même clé sur une autre opération est donc un corps différent.Une seconde requête arrivant pendant que la première s'exécute attend au plus trois secondes, puis reçoit 409
idempotency_in_progress. Il faut alors retenter la même requête à l'identique.Rétention : 24 heures. Passé ce délai la clé redevient libre, et la rejouer CRÉE une nouvelle ressource au lieu de rendre le corps mémorisé.
Corps de requête application/json · requis
- format uuidexemple 3c7a1f92-5b4e-4d08-9a61-7e2b0c5d8f34
transactionIdchaînerequis - minimum 1
amountXpfentierfacultatif - longueur maximale 200
reasonchaînefacultatif - au plus 50 clés
metadataobjetfacultatifClés libres (longueur maximale 40), valeurs de type chaîne (longueur maximale 500).
⚠️ Une valeur qui ressemble à un numéro de carte bancaire est REFUSÉE, sur toutes les ressources : Tupay n'en stocke jamais, y compris ici. Ce refus protège votre conformité PCI-DSS autant que la nôtre. Si c'est une référence interne numérique, préfixez-la (« cmd-… ») pour lever l'ambiguïté.
Vos propres clés et valeurs, attachées à l'objet et relisibles avec lui. De quoi relier une ressource Tupay à votre système sans tenir de table de correspondance.
Bornes : 50 clés au plus, 40 caractères par clé, 500 par valeur. Elles portent sur le RÉSULTAT de la fusion, pas sur ce que vous envoyez : ajouter 5 clés à un objet qui en compte 48 est refusé.
À la modification, les clés fournies remplacent les anciennes et les autres survivent. Une clé à
nullest supprimée. Un objet vide ne change rien, etmetadata: nullefface tout.Ce n'est pas un espace de stockage : les valeurs ne sont ni indexées ni cherchables, et n'ont aucun effet sur le traitement.