Paiements d'un Cycle
Les paiements sont générés par cycle (POST /api/cycles/{id}/generate-payments), puis exécutés en bloc ou un par un. Il n'existe pas de circuit de validation par paiement : la validation porte sur le cycle (voir Validation d'un Cycle).
Un paiement abouti a le statut execute (jamais reussi). Statuts possibles : brouillon, en_attente, valide_raf, valide_coord, en_cours, execute, echoue, rejete_raf, rejete_coord, annule (les statuts valide_*/rejete_* existent dans le modèle mais aucun endpoint ne les pose individuellement).
GET /api/cycles/{id}/paiements
Liste paginée des paiements d'un cycle. Permission : transferts.cycles_view.
| Paramètre | Description |
|---|---|
statut | Filtrer par statut de paiement |
search | Nom ou code du bénéficiaire |
region, secteur, localite | Filtres géographiques (identifiants) |
page, limit | Pagination (défaut 1 et 20) |
pagination=false | Toute la liste en une réponse |
{
"success": true,
"data": [
{
"id": "880e8400-e29b-41d4-a716-446655440001",
"code": "PAI-0001",
"montant": 15000,
"statut": "en_attente",
"methodePaiement": "mobile_money",
"operateur": "orange_money",
"dateSoumission": null,
"dateExecution": null,
"beneficiaire": { "…": "identité et localisation" }
}
],
"pagination": { "page": 1, "limit": 20, "total": 1200 }
}
Statistiques
| Endpoint | Description |
|---|---|
GET /api/cycles/{id}/stats | Totaux du cycle (prévu, payé, taux d'exécution) |
GET /api/cycles/{id}/operators-stats | Répartition par opérateur |
Exécution
| Endpoint | Permission | Description |
|---|---|---|
POST /api/cycles/{id}/execute | transferts.paiements_execute | Exécute les paiements en attente du cycle validé |
POST /api/paiements/{id}/initiate | transferts.paiements_execute | Lance un paiement unique |
POST /api/paiements/{id}/retry | transferts.paiements_execute | Relance un paiement échoué |
POST /api/paiements/check-status | transferts.paiements_view | Met à jour les paiements en cours auprès de l'opérateur |
Aucune API d'opérateur n'est branchée à ce jour : l'exécution s'appuie sur les fichiers ST/CT (voir Export et Réconciliation).
GET /api/paiements/{id}
Détail d'un paiement. Permission : transferts.paiements_view. L'identifiant doit être un UUID ; un identifiant mal formé renvoie 404.
Autres endpoints
| Endpoint | Description |
|---|---|
GET /api/paiements/by-beneficiaire | Paiements d'un bénéficiaire (voir Paiements par bénéficiaire) |
GET /api/paiements/stats | Statistiques globales |
POST /api/paiements/simulate/cycle/{cycleId} | Simulation de paiement d'un cycle (test) |