Skip to main content

Avant l’appel

  • La transaction doit être READY.
  • Affichez au client amount, fee et leur somme pour chaque facture sélectionnée, et obtenez sa confirmation.
  • Enregistrez d’abord votre propre commande. pay déplace de l’argent.

Requête

POST /v3/bills/pay prend le transactionId de la découverte, la ou les factures à payer et une nouvelle ref. Envoyez billId ou billIds, jamais les deux.
ref ne doit pas être la ref de découverte. L’API conserve la ref de découverte sur la transaction et refuse toute ref encore utilisée pour ce partenaire avec 403 DUPLICATED_REF. Une convention simple : <discoveryRef>-pay.

Réponse

ref dans la réponse est la ref de découverte : la transaction conserve une seule référence pendant toute sa durée de vie. 200 signifie que le paiement a été accepté, pas qu’il a réussi.

Payer plusieurs factures à la fois

Envoyez billIds au lieu de billId. Les factures sont réglées en une seule commande et leurs frais sont la somme des fee des factures sélectionnées. Seul SEAAL règle plusieurs factures en une seule commande : pour tout autre partenaire, un billIds de plus d’un identifiant répond 400 ERR_VALIDATION.
Sur la transaction, selectedBill contient alors l’agrégat (amount = somme des factures, billId = le premier id) et selectedBills[] liste chaque facture individuellement. Utilisez selectedBills pour le rapprochement. Cela s’applique à tout facturier dont la découverte a renvoyé plusieurs factures. C’est souvent le cas des comptes SEAAL.

Suivre le paiement

Interrogez GET /v3/bills/transactions/{transactionId} toutes les 5 secondes jusqu’à ce que status soit SUCCESS, FAILED ou REFUNDED. Détails de chaque statut et de chaque champ : Statut de la transaction.

Erreurs synchrones

Une 4xx/5xx ici signifie que rien n’a bougé. Une expiration réseau signifie que vous ne savez pas : recherchez la transaction avant toute autre action.

Suivant : Statut de la transaction

Chaque statut, chaque champ, comment interroger