Passer au contenu principal

Exemples de payloads de décaissement

Cette page fournit des payloads pratiques pour chaque étape majeure du décaissement :
  1. Valider le bénéficiaire
  2. Demander le décaissement
  3. Vérifier le décaissement

1) Valider le bénéficiaire, 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"
  }
}

2) Valider le bénéficiaire, virement bancaire

Endpoint : POST /billing/v1/transfer-recipients/validate
{
  "provider": "bank-transfer-nigeria",
  "currency": "NGN",
  "country": "NG",
  "account": {
    "accountNumber": "0123456789",
    "bankCode": "948"
  }
}
Exemple de réponse :
{
  "statusCode": 200,
  "data": {
    "provider": "bank-transfer-nigeria",
    "providerLabel": "Bank Transfer",
    "source": "disbursement",
    "channel": "bank-transfer",
    "currency": "NGN",
    "country": "NG",
    "accountLabel": "Momo Payment Service Bank | AAA BBB XXX | 2215381176",
    "account": {
      "name": "AAA BBB XXX",
      "accountName": "AAA BBB XXX",
      "accountNumber": "2215381176",
      "bankCode": "948",
      "bankName": "Momo Payment Service Bank"
    },
    "status": "pending",
    "id": "6834655cdc1370231451f2a5"
  }
}

3) 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"
  }
}

4) 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

Format du montant

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.
Validez toujours le bénéficiaire avant de demander le décaissement.
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é.