Remboursements
Un remboursement rend tout ou partie d’un paiement réussi au client, par le même fournisseur. Il s’applique au paiement encaissé : utilisez le paymentId de l’intention de paiement (ou l’id renvoyé par GET /v1/payments).
POST/v1/refunds
Permission
refunds:write. En-tête Idempotency-Key obligatoire.| Paramètre | Type | Description |
|---|---|---|
paymentIdrequis | uuid | Le paiement encaissé à rembourser. |
amountfacultatif | entier | Montant à rendre. Absent : tout ce qui reste remboursable. |
reasonfacultatif | chaîne ≤ 255 | Motif, pour vos rapports. |
cURL
curl -sX POST https://backend.v1.pay.galsen.tech/v1/refunds \
-H "Authorization: Bearer $GALSEN_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "paymentId": "<paymentId>", "amount": 5000, "reason": "Article manquant" }'Règles
- Le paiement doit être réussi. Le total remboursé ne peut jamais dépasser le montant payé (
409 PAYMENT_NOT_REFUNDABLEsinon) : la base de données elle-même le refuse. - Remboursement partiel : seulement si le fournisseur le permet. Sinon,
422 PROVIDER_CAPABILITY_REQUIRED. - L’argent est réservé sur votre solde avant l’appel au fournisseur (
422 INSUFFICIENT_BALANCEsi votre solde ne suffit pas), puis libéré si le fournisseur refuse définitivement. - Frais : par défaut, les frais du fournisseur et de Galsen Pay sont rendus au prorata du montant remboursé.
- Plafonds : vos limites de remboursement s’appliquent (
422 REFUND_LIMIT_EXCEEDED).
Statuts
| Statut | Signification |
|---|---|
PENDING, PROCESSING | Demandé, en cours chez le fournisseur. |
SUCCEEDED | Rendu au client. |
FAILED | Refusé par le fournisseur ; la réserve revient sur votre solde. failureCode donne la raison. |
UNKNOWN | Issue pas encore connue : ne relancez pas, Galsen Pay vérifie auprès du fournisseur. |
Webhooks : refund.created, refund.succeeded, refund.failed. Le paiement d’origine passe à PARTIALLY_REFUNDED ou REFUNDED.
Lire
GET/v1/refunds · /v1/refunds/{id}
Permission
payments:read. Liste paginée par curseur.Objet remboursement
id, paymentId, amount, currency, status, reason, failureCode, createdAt, completedAt.