Skip to content

Paiements en masse (disbursement) ​

Epayment exécute des lots de paiements sortants (subventions, remboursements, indemnisations) pour une régie. Les lignes proviennent d'un upload fichier ou d'un fetch ERP.

Flux ERP fetch ​

Ce que l'ERP expose ​

http
GET /disbursements?batch_ref={ref}

Réponse : { "items": [ ... ] } conforme au contrat REST (objet ligne ci-dessous dans ce contrat).

Modes de paiement supportés en exécution v2 :

payment_methodpayout requis
AIRTEL_MONEY{ phone_e164, operator_hint? }
MTN_MOMO{ phone_e164, operator_hint? }
BANK_TRANSFER{ account_number, bank_code, account_holder_name, iban? }

MOBILE_MONEY legacy est normalisé via operator_hint. CASH et CHECK sont dépréciés et non exécutés en v2.

Alternative upload ​

L'officer peut importer un fichier CSV/Excel (template portail régie) au lieu du fetch ERP. Le pipeline validation → exécution est identique.

Sources batch : upload, erp_fetch, manual.

Machine à états du batch ​

États ​

ÉtatDescription
draftLot créé, lignes modifiables
importingImport ERP ou parsing fichier en cours
pending_validationEn attente d'approbation officer
approvedValidé, prêt à exécuter
rejectedRefusé ; re-import ou re-soumission possible
executingVersements PSP en cours
retryingNouvelle tentative sur lignes en échec
partially_failedTerminé avec échecs partiels
completedToutes les lignes réussies
failedÉchec global
closedLot archivé

Actions officer par état ​

ActionÉtats autorisés
importdraft, rejected
submitdraft, rejected
approve / rejectpending_validation
executeapproved
retrypartially_failed, failed, retrying
closecompleted, partially_failed, failed
export_reconciliationexecuting, retrying, completed, partially_failed, failed, closed

Exécution ​

  • Une ligne à la fois via le connecteur de versement.
  • Idempotence par line_ref et clé d'idempotence côté connecteur.
  • Retry unitaire : échec ligne N ne rejoue pas les lignes 1…N-1 déjà réussies.
  • États ligne : pending → executing → succeeded | failed.

Pas de webhook ministry ​

Ce flux est régie ↔ ERP ↔ PSP. Les webhooks application ministry ne s'appliquent pas. Notification ERP post-exécution : export rapport ou intégration métier hors contrat REST v1 standard.

Recette ​

  • [ ] GET /disbursements?batch_ref= test retourne lignes valides
  • [ ] payment_method et payout conformes (AIRTEL_MONEY / MTN_MOMO / BANK_TRANSFER)
  • [ ] Preview lignes UI régie avant soumission
  • [ ] Parcours complet draft → approved → completed sur sandbox
  • [ ] Retry ligne en échec sans double paiement
  • [ ] Export réconciliation cohérent avec registre ERP

Documentation associée ​

Plateforme d'orchestration de paiement DPI. Les fonds ne transitent pas par Epayment.