APIMobile Money

Transfert

Executer un transfert via l'API Direct.

POST https://business.novasend.app/v1/direct/payout

Cet endpoint permet à un marchand d'initier un payout, c'est-à-dire un transfert de fonds depuis son portefeuille vers un bénéficiaire externe.

En-tête de la Requête

ValeurDescriptionObligatoire
AuthorizationPour authentifier l'Api, Basic base64(api_key:api_client)
X-Idempotency-KeyCet en-tête garantit l'unicité de vos transactions. La valeur doit être un UUID
Content-Typeapplication/json
Accept-LanguagePour traduire les messages d'erreur, langues possibles: en, fr

Requête

ChampTypeDescription
referencestringIdentifiant unique de la transaction.
customerNamestringNom du bénéficiaire du transfert.
payoutobjectInformations relatives au transfert sortant.
payout.amountnumberMontant du transfert.
payout.msisdnstringNuméro de téléphone du bénéficiaire (format international).
payout.providerstringOpérateur de paiement (WAVE, ORANGE, MOMO, MOOV).
payout.countrystringCode pays ISO (CI, CM).

{
  "reference": "{{$randomUUID}}",
  "customerName": "John Do",
  "payout": {
    "amount": 300,
    "msisdn": "{{phone_number}}",
    "provider": "WAVE",
    "country": "CM"
  }
}

Réponse

{
  "id": "pr_bawy28jjce5btvu8eq1jjvmjlt",
  "type": "payout",
  "reference": "036065a8-081f-46f7-916f-3c4ba24b64a4",
  "status": "processed",
  "confirmationRequired": false,
  "confirmationStatus": "accepted",
  "paymentUrl": null,
  "customer": {
    "name": "Aristide",
    "phoneNumber": "+225xxxxxxxxx"
  },
  "mobileMoney": {
    "provider": {
      "name": "WAVE_CI"
    }
  },
  "isDirect": false,
  "payFee": false,
  "createdAt": "2026-01-19T09:11:42.594Z",
  "amount": 200,
  "fee": 4,
  "chargedAmount": 204,
  "currency": "XOF",
  "failure": null
}

Interprétation de la Réponse

ChampDescription
idIdentifiant unique du transfert (payout).
typeType de transaction — ici payout (transfert sortant).
referenceRéférence fournie par le marchand pour identifier le transfert.
statusStatut global du transfert (processing, processed, expired, etc.).
confirmationRequiredIndique si une confirmation du bénéficiaire est requise avant l'exécution du transfert.
confirmationStatusÉtat actuel de la confirmation (none, pending, accepted, declined).
paymentUrlLien de confirmation du transfert (null si non applicable).
isDirectIndique si le transfert a été initié via un flux direct.
payFeeIndique si les frais sont pris en charge par le marchand.
createdAtDate et heure de création du transfert.
amountMontant du transfert (hors frais).
feeMontant des frais de service appliqués.
chargedAmountMontant total débité du compte marchand (montant + frais).
currencyDevise utilisée (XOF, USD, EUR, etc.).
failureDétails de l'erreur en cas d'échec du transfert (null en cas de succès).

customer

ChampDescription
nameNom du client.
phoneNumberNuméro de téléphone du client (format international).

mobileMoney

ChampDescription
providerObjet contenant les informations de l'opérateur Mobile Money.
provider.nameIdentifiant de l'opérateur Mobile Money (ex. WAVE_CI).

Statut du transfert

GET https://business.novasend.app/v1/direct/payout/{reference}

Cet endpoint permet de consulter à tout moment l'état d'un transfert.


Réponse

{
  "id": "pr_bawy28jjce5btvu8eq1jjvmjlt",
  "type": "payout",
  "reference": "036065a8-081f-46f7-916f-3c4ba24b64a4",
  "status": "processed",
  "confirmationRequired": false,
  "confirmationStatus": "accepted",
  "paymentUrl": null,
  "customer": {
    "name": "Aristide",
    "phoneNumber": "+225xxxxxxxxx"
  },
  "mobileMoney": {
    "provider": {
      "name": "WAVE_CI"
    }
  },
  "isDirect": false,
  "payFee": false,
  "createdAt": "2026-01-19T09:11:42.594Z",
  "amount": 200,
  "fee": 4,
  "chargedAmount": 204,
  "currency": "XOF",
  "failure": null
}