MobupayMobupay
Chargement de vos clés API…

Plateforme · Guides de recettes

Rembourser sans pénaliser le sous-marchand

Trois modes de financement, et un choix à faire avant l'appel : qui porte le remboursement.

1. Lire l'état du paiement

L'opération est déterminée par l'état : un paiement capturé se rembourse (crédit réel vers la carte), une autorisation non capturée s'annule (aucun débit n'a eu lieu). Vous n'avez pas à choisir, mais vous devez savoir lequel des deux va se produire.

2. Choisir qui finance

Trois modes existent en plateforme : le marchand absorbe, la plateforme absorbe, ou les deux se partagent. Le mode retenu détermine les mouvements de fonds, pas le montant rendu au client.

Le détail des trois flux est dans « Cas particuliers » de la fonctionnalité Plateforme.

3. Rembourser

amountCents est exprimé dans la devise d'origine du paiement. Absent, il vaut remboursement total. Les remboursements partiels et multiples sont acceptés tant que leur somme n'excède pas le montant initial.

post/api/v1/payments/{id}/refund
{
  "amountCents": 1000,
  "reason": "Demande client",
  "items": [
    { "product": "Coca-Cola 33cl", "unitPrice": 500, "quantity": 2 }
  ]
}

Un paiement à net carte nul ne se rembourse pas partiellement : 400 PARTIAL_REFUND_UNSUPPORTED_NET0. Il n'y a rien à rendre au prorata sur une carte qui n'a rien porté.

4. Confirmer par l'événement

Mobupay émet payment.refunded, payment.partially_refunded ou payment.cancelled selon le cas. C'est cet événement qui fait foi côté votre comptabilité, pas la réponse HTTP seule.