Skip to main content

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ètreDescription
statutFiltrer par statut de paiement
searchNom ou code du bénéficiaire
region, secteur, localiteFiltres géographiques (identifiants)
page, limitPagination (défaut 1 et 20)
pagination=falseToute 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​

EndpointDescription
GET /api/cycles/{id}/statsTotaux du cycle (prévu, payé, taux d'exécution)
GET /api/cycles/{id}/operators-statsRépartition par opérateur

Exécution​

EndpointPermissionDescription
POST /api/cycles/{id}/executetransferts.paiements_executeExécute les paiements en attente du cycle validé
POST /api/paiements/{id}/initiatetransferts.paiements_executeLance un paiement unique
POST /api/paiements/{id}/retrytransferts.paiements_executeRelance un paiement échoué
POST /api/paiements/check-statustransferts.paiements_viewMet à 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​

EndpointDescription
GET /api/paiements/by-beneficiairePaiements d'un bénéficiaire (voir Paiements par bénéficiaire)
GET /api/paiements/statsStatistiques globales
POST /api/paiements/simulate/cycle/{cycleId}Simulation de paiement d'un cycle (test)