> ## 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

> Exemples prêts à copier pour la validation de bénéficiaire, les demandes de décaissement et la vérification de décaissement.

# 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

Utilisez l'objet `account` correspondant au canal du provider que vous validez.

### Mobile money

Endpoint : `POST /billing/v1/transfer-recipients/validate`

```json theme={null}
{
  "provider": "mtn-momo-ivory-coast",
  "currency": "XOF",
  "country": "CI",
  "account": {
    "phoneNumber": "225XXXXXXXXXX"
  }
}
```

Exemple de réponse :

```json theme={null}
{
  "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`

```bash theme={null}
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 :

```json theme={null}
{
  "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`

```json theme={null}
{
  "provider": "bank-transfer-nigeria",
  "currency": "NGN",
  "country": "NG",
  "account": {
    "accountNumber": "0123456789",
    "bankCode": "044"
  }
}
```

Exemple de réponse :

```json theme={null}
{
  "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`

```json theme={null}
{
  "provider": "bank-transfer-angola",
  "currency": "AOA",
  "country": "AO",
  "account": {
    "accountName": "John Doe",
    "accountNumber": "0123456789"
  }
}
```

Exemple de réponse :

```json theme={null}
{
  "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`

```json theme={null}
{
  "transferRecipientId": "675a4528d14b406a3d31e4a8",
  "amount": 3000,
  "reference": "disbursement-1001",
  "narration": "Vendor disbursement",
  "pin": "1111"
}
```

Exemple de réponse :

```json theme={null}
{
  "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 :

```json theme={null}
{
  "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

<AccordionGroup>
  <Accordion title="Format du montant" icon="hashtag" defaultOpen>
    Envoyez uniquement des valeurs entières en sous-unités. Les décimales ne sont pas prises en charge.
  </Accordion>

  <Accordion title="Référence unique" icon="fingerprint">
    Utilisez une référence de décaissement unique afin d'éviter les doublons.
  </Accordion>

  <Accordion title="Validation du bénéficiaire d'abord" icon="user">
    Validez toujours le bénéficiaire avant de demander le décaissement.
  </Accordion>

  <Accordion title="Alignement avec le mode d'autorisation" icon="key">
    Assurez-vous que la requête correspond bien à votre mode d'autorisation configuré, PIN ou URL d'autorisation.
  </Accordion>
</AccordionGroup>

## Documentation associée

<CardGroup cols={3}>
  <Card title="Vue d'ensemble des décaissements" icon="money-bill-transfer" href="/fr/guides/disbursements/overview">
    Parcours complet du flux de décaissement.
  </Card>

  <Card title="Mode d'autorisation" icon="key" href="/fr/guides/disbursements/authorization-mode">
    Configurez et sécurisez l'autorisation des décaissements.
  </Card>

  <Card title="Webhooks de décaissement" icon="bell" href="/fr/guides/disbursements/webhook">
    Traitez les callbacks de statut en toute sécurité.
  </Card>
</CardGroup>
