APIMobile Money

Paiement

Declencher un paiement direct cote serveur.

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

Déclencher une demande de paiement Mobile Money (push/STK/USSD) auprès des opérateurs pris en charge (WAVE, Orange Money, MTN MoMo, Moov, etc).

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

ChampTypeDescriptionObligatoire
referencestringIdentifiant unique de la transaction.
customerNamestringNom du client effectuant le paiement.
payinobjectInformations relatives au paiement entrant.
payin.amountnumberMontant du paiement.
payin.msisdnstringNuméro de téléphone du client (format international).
payin.providerstringOpérateur de paiement (WAVE, ORANGE, MOMO, MOOV).
payin.countrystringCode pays ISO (CI, CM).
payin.otpstringCode PIN pour Orange Money (Obtenu via #144*82#).
action.successUrlurlURL de redirection après une action réussie.
action.failureUrlurlURL de redirection après une action échouée.

{
  "reference": "{{$randomUUID}}",
  "customerName": "John Do",
  "payin": {
    "amount": 300,
    "msisdn": "{{phone_number}}",
    "provider": "ORANGE",
    "country": "CI",
    "otp": "1234"
  },
  "action": {
    "successUrl": "{{Votre URL de success}}",
    "failureUrl": "{{Votre URL de failure}}"
  }
}

Validation MTN & Moov

Pour les opérateurs MTN et Moov, si la demande de confirmation n'apparaît pas automatiquement sur le téléphone du client, celui-ci doit composer les codes suivants pour valider le paiement :

  • MTN CI : Composer *133# pour accéder au menu de validation.
  • Moov CI : Composer *155# pour accéder au menu de validation.

Réponse

{
  "id": "pr_bakvkozbmqcmte1d8izelffjlz",
  "type": "payin",
  "reference": "0f3fed58-0590-434e-8a00-5d6cd3560382",
  "status": "processing",
  "confirmationRequired": true,
  "confirmationStatus": "none",
  "paymentUrl": "https://business.novasend.app/link/QGRD4D",
  "customer": {
    "name": "Aziz",
    "phoneNumber": "+225xxxxxxxxx"
  },
  "mobileMoney": {
    "provider": {
      "name": "WAVE_CI"
    }
  },
  "isDirect": false,
  "payFee": false,
  "createdAt": "2026-01-19T09:11:25.832Z",
  "amount": 200,
  "fee": 7,
  "chargedAmount": 207,
  "currency": "XOF",
  "failure": null
}

Interprétation de la Réponse

ChampDescription
idIdentifiant unique de la session de paiement.
typeType d'opération — ici payin pour un paiement entrant.
referenceRéférence fournie par le marchand pour identifier le paiement.
statusStatut initial du paiement (processing, processed, expired, etc.).
confirmationRequiredIndique si une confirmation du client est requise avant l'exécution du paiement.
confirmationStatusÉtat actuel de la confirmation client (none, pending, accepted, declined).
paymentUrlLien web/deep link permettant au client de confirmer le paiement via une interface mobile ou web. Pour un paiement Wave, ce champ contiendra l'URL de redirection vers Wave.
isDirectIndique si le paiement a été initié via un flux direct.
payFeeIndique si les frais de transaction sont pris en charge par le marchand.
createdAtDate et heure de création de la session de paiement.
amountMontant brut du paiement.
feeFrais de service appliqués à la transaction.
chargedAmountMontant total débité (montant + frais).
currencyDevise utilisée (ex. XOF, XAF).
failureDétails de l'erreur en cas d'échec du paiement (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 paiement

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

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

Réponse

{
  "id": "pr_bakvkozbmqcmte1d8izelffjlz",
  "type": "payin",
  "reference": "0f3fed58-0590-434e-8a00-5d6cd3560382",
  "status": "processing",
  "confirmationRequired": true,
  "confirmationStatus": "none",
  "paymentUrl": "https://business.novasend.app/link/QGRD4D",
  "customer": {
    "name": "Aziz",
    "phoneNumber": "+225xxxxxxxxx"
  },
  "mobileMoney": {
    "provider": {
      "name": "WAVE_CI"
    }
  },
  "isDirect": false,
  "payFee": false,
  "createdAt": "2026-01-19T09:11:25.832Z",
  "amount": 200,
  "fee": 7,
  "chargedAmount": 207,
  "currency": "XOF",
  "failure": null
}