Documentation Index Fetch the complete documentation index at: https://docs.payfonte.com/llms.txt
Use this file to discover all available pages before exploring further.
Exemples de payloads de décaissement
Cette page fournit des payloads pratiques pour chaque étape majeure du décaissement :
Valider le bénéficiaire
Demander le décaissement
Vérifier le décaissement
1) Valider le bénéficiaire
Utilisez l’objet account correspondant au canal du provider que vous validez.
Mobile money
Endpoint : POST /billing/v1/transfer-recipients/validate
{
"provider" : "mtn-momo-ivory-coast" ,
"currency" : "XOF" ,
"country" : "CI" ,
"account" : {
"phoneNumber" : "225XXXXXXXXXX"
}
}
Exemple de réponse :
{
"statusCode" : 200 ,
"data" : {
"provider" : "mtn-momo-ivory-coast" ,
"providerLabel" : "MTN MoMo" ,
"source" : "disbursement" ,
"channel" : "mobile-money" ,
"currency" : "XOF" ,
"country" : "CI" ,
"accountLabel" : "MTN MoMo | 225XXXXXXXXXX" ,
"account" : {
"network" : "MTN" ,
"phoneNumber" : "225XXXXXXXXXX" ,
"accountName" : "John Doe"
},
"status" : "active" ,
"id" : "675a4528d14b406a3d31e4a8"
}
}
Virement bancaire
Récupérez la liste des banques avant de valider un bénéficiaire de virement bancaire afin d’envoyer un bankCode valide.
Endpoint : GET /billing/v1/transfer-recipients/{provider}/properties
curl --location 'https://sandbox-api.payfonte.com/billing/v1/transfer-recipients/bank-transfer-nigeria/properties' \
--header 'client-id: <client-id>' \
--header 'client-secret: <client-secret>'
Exemple de réponse :
{
"statusCode" : 200 ,
"data" : {
"banks" : [
{
"bankName" : "Access Bank" ,
"bankCode" : "044"
}
]
}
}
Utilisez le bankCode sélectionné lors de la validation du bénéficiaire.
Endpoint : POST /billing/v1/transfer-recipients/validate
{
"provider" : "bank-transfer-nigeria" ,
"currency" : "NGN" ,
"country" : "NG" ,
"account" : {
"accountNumber" : "0123456789" ,
"bankCode" : "044"
}
}
Exemple de réponse :
{
"statusCode" : 200 ,
"data" : {
"provider" : "bank-transfer-nigeria" ,
"providerLabel" : "Bank Transfer" ,
"source" : "disbursement" ,
"channel" : "bank-transfer" ,
"currency" : "NGN" ,
"country" : "NG" ,
"accountLabel" : "Access Bank | AAA BBB XXX | 0123456789" ,
"account" : {
"name" : "AAA BBB XXX" ,
"accountName" : "AAA BBB XXX" ,
"accountNumber" : "0123456789" ,
"bankCode" : "044" ,
"bankName" : "Access Bank"
},
"status" : "pending" ,
"id" : "6834655cdc1370231451f2a5"
}
}
Virement bancaire (Angola)
Endpoint : POST /billing/v1/transfer-recipients/validate
{
"provider" : "bank-transfer-angola" ,
"currency" : "AOA" ,
"country" : "AO" ,
"account" : {
"accountName" : "John Doe" ,
"accountNumber" : "0123456789"
}
}
Exemple de réponse :
{
"statusCode" : 200 ,
"data" : {
"clientId" : "6thbridge" ,
"parentClientId" : "payfusion" ,
"ownerType" : "client" ,
"ownerId" : "6thbridge" ,
"provider" : "bank-transfer-angola" ,
"providerLabel" : "Bank Transfer" ,
"providerLogo" : "https://app-tst.appypay.co.ao/images/payment-methods/ref.png" ,
"source" : "disbursement" ,
"channel" : "bank-transfer" ,
"currency" : "AOA" ,
"country" : "AO" ,
"tags" : [],
"accountLabel" : "Bank Transfer | Miss Billie Friesen | 2215381176" ,
"account" : {
"accountNumber" : "2215381176" ,
"accountName" : "Miss Billie Friesen"
},
"status" : "pending" ,
"createdAt" : "2026-04-20T12:40:56.084Z" ,
"updatedAt" : "2026-04-20T12:40:56.084Z" ,
"id" : "69e61ed8c5938efd8ef63e1b"
}
}
2) Demander le décaissement
Endpoint : POST /billing/v1/disbursements
{
"transferRecipientId" : "675a4528d14b406a3d31e4a8" ,
"amount" : 3000 ,
"reference" : "disbursement-1001" ,
"narration" : "Vendor disbursement" ,
"pin" : "1111"
}
Exemple de réponse :
{
"statusCode" : 201 ,
"data" : {
"reference" : "D20241216141720XXXXX" ,
"amount" : 3000 ,
"amountPayable" : 3000 ,
"charge" : 15 ,
"provider" : "mtn-momo-ivory-coast" ,
"currency" : "XOF" ,
"country" : "CI" ,
"status" : "processing"
}
}
3) Vérifier le décaissement
Endpoint : GET /billing/v1/disbursements/verify/{reference}
Exemple de réponse :
{
"data" : {
"clientId" : "payfusion" ,
"status" : "success" ,
"statusDescription" : "success" ,
"reference" : "D20241223060657MOHAA" ,
"providersReference" : "pt-D20241223060657MOHAA" ,
"externalReference" : "D20241223060657MOHAA" ,
"currency" : "XOF" ,
"country" : "CI" ,
"transferRecipientId" : "6768fdf84764676cde0b630e" ,
"transferRecipientLabel" : "Wave | +2257038102474" ,
"charge" : 0 ,
"amount" : 3000 ,
"finalAmount" : 3000 ,
"provider" : "wave-ivory-coast" ,
"channel" : "mobile-money" ,
"integrationId" : "6762bcccdd35fc1c7cae5bd6" ,
"id" : "6768fe014764676cde0b6313"
},
"statusCode" : 200
}
Checklist de validation
Envoyez uniquement des valeurs entières en sous-unités. Les décimales ne sont pas prises en charge.
Utilisez une référence de décaissement unique afin d’éviter les doublons.
Validation du bénéficiaire d'abord
Validez toujours le bénéficiaire avant de demander le décaissement.
Alignement avec le mode d'autorisation
Assurez-vous que la requête correspond bien à votre mode d’autorisation configuré, PIN ou URL d’autorisation.
Documentation associée
Vue d'ensemble des décaissements Parcours complet du flux de décaissement.
Mode d'autorisation Configurez et sécurisez l’autorisation des décaissements.
Webhooks de décaissement Traitez les callbacks de statut en toute sécurité.