Aller au contenu principal

API - Remboursement

Les conventions générales s'appliquent : en-têtes, enveloppe de réponse, pagination et codes d'erreur. Les conditions d'éligibilité sont détaillées dans Remboursement.

Créer un remboursement

POST /api/public/v1/refunds/{transaction}/create-refund

La transaction à rembourser est passée dans l'URL.

Paramètres

ChampTypeObligatoireDescription
amountentierOuiMontant en ariary. Entre 300 et le reste remboursable de la transaction.
commentstringOuiMotif du remboursement, 100 caractères maximum.
custom_idstringNonVotre référence interne, pour le rapprochement.
debited_wallet_iduuidNonPortefeuille à débiter à la place de celui qui a encaissé. Doit appartenir au même compte.

Exemple

curl --request POST \
"https://efn.efaina.com/api/public/v1/refunds/72b46ff8-1bc2-4a33-bc63-022eb743a4a5/create-refund" \
--header "Authorization: Bearer VOTRE_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data '{
"amount": 50000,
"comment": "Commande annulée par le client",
"custom_id": "REF-2024-02"
}'

Erreurs spécifiques

CodeerrorCodeCas
403UNAUTHORIZEDLa transaction n'est pas remboursable : elle n'est pas de type money-in, n'est pas au statut success, ou provient d'un P2P, d'un remboursement ou d'un retrait.
403PAYLOAD_VALIDATIONLa transaction appartient à un autre compte.
404NOT_FOUND_DATATransaction inexistante, ou debited_wallet_id inconnu.
422PAYLOAD_VALIDATIONMontant supérieur au reste remboursable, ou solde du portefeuille insuffisant pour couvrir montant + frais.

Consulter un remboursement

GET /api/public/v1/refunds/{refund}/show

Lister les remboursements

GET /api/public/v1/refunds

Résultat paginé, avec les filtres communs. Champs filtrables notables : filter[transaction_id], filter[status.slug], filter[transaction.ref], between[amount], between[created_at].

Référence complète

Référence API générée.