INOPAS
Fondamentaux

États d’un paiement

Encaissements, reversements et remboursements suivent la même machine à états. Elle compte cinq états, dont un qu’il faut savoir traiter : UNKNOWN, le paiement dont le canal n’a pas donné l’issue.

Le parcours

  1. CREATED
  2. PENDING
  3. SUCCEEDEDFAILEDUNKNOWN réconciliation SUCCEEDED ou FAILED
Transitions autorisées
DeVersQuand
CREATEDPENDINGLa demande est transmise au canal.
CREATEDFAILEDLe canal refuse la demande d’emblée.
PENDINGSUCCEEDEDLe canal confirme : le payeur a validé.
PENDINGFAILEDLe payeur refuse, abandonne, ou le canal rejette.
PENDINGUNKNOWNLe canal ne répond pas : l’issue est inconnue.
UNKNOWNSUCCEEDEDLa réconciliation obtient une confirmation.
UNKNOWNFAILEDLa réconciliation obtient un refus.

SUCCEEDED et FAILED sont définitifs : aucune transition n’en sort. Un remboursement ne modifie pas l’encaissement d’origine, qui reste SUCCEEDED : c’est une opération distincte, avec son propre état.

Ce que votre code doit faire

Conduite à tenir selon l’état
ÉtatSignificationVotre code
En attente CREATEDEnregistré, pas encore transmis au canal.Attendre. Afficher « en attente ».
En attente PENDINGTransmis : le payeur confirme sur son téléphone.Attendre. Afficher « en attente ».
Payé SUCCEEDEDConfirmé par le canal. Définitif.Livrer.
Échoué FAILEDRefusé ou abandonné. Définitif, rien n’a été débité.Proposer de réessayer : c’est une nouvelle opération, avec une nouvelle clé.
Non confirmé UNKNOWNLe canal n’a pas répondu : l’argent a peut-être bougé. Ni livrer, ni redemander.Ni livrer, ni redemander. Afficher « en cours de vérification ».

La réconciliation

En production, un paiement PENDING ou UNKNOWN n’est jamais laissé en suspens. La réconciliation interroge le canal à intervalles croissants : après 10 secondes, 30 secondes, 1 minute, 5 minutes, 15 minutes, puis toutes les heures. Les relevés du canal servent aussi à trancher les paiements sans réponse.

Un paiement encore non confirmé au bout de 72 heures sort de la boucle automatique et passe en revue manuelle. Dans tous les cas, l’issue finale vous parvient par webhook dès qu’elle est connue.

Un seul branchement, tous les paiements.