Payment
POST https://business.novasend.app/v1/direct/payin
Initiates a Mobile Money payment request (push / STK / USSD) with supported operators (WAVE, Orange Money, MTN MoMo, Moov, etc.).
Request Headers
| Header | Description | Required |
|---|---|---|
| Authorization | Used to authenticate the API, Basic base64(api_key:api_client) | ✅ |
| X-Idempotency-Key | Ensures transaction uniqueness. The value must be a UUID | ✅ |
| Content-Type | application/json | |
| Accept-Language | Language used for error messages. Supported values: en, fr |
Resquest
| Field | Type | Description | Required |
|---|---|---|---|
| reference | string | Unique transaction identifier. | ✅ |
| customerName | string | Name of the customer making the payment. | |
| payin | object | Information related to the incoming payment. | ✅ |
| payin.amount | number | Payment amount. | ✅ |
| payin.msisdn | string | Customer phone number (international format). | ✅ |
| payin.provider | string | Payment provider (WAVE, ORANGE, MOMO, MOOV). | ✅ |
| payin.country | string | ISO country code (CI, CM). | ✅ |
| payin.otp | string | OTP code for Orange Money (obtained via #144*82#). | ✅ |
| action.successUrl | url | Redirect URL after a successful action. | ✅ |
| action.failureUrl | url | Redirect URL after a failed action. | ✅ |
{
"reference": "{{$randomUUID}}",
"customerName": "John Do",
"payin": {
"amount": 300,
"msisdn": "{{phone_number}}",
"provider": "ORANGE",
"country": "CI",
"otp": "1234" // Required for Orange Money (obtained via #144*82#)
},
"action": {
"successUrl": "{{Your Success URL}}",
"failureUrl": "{{Your Failure URL}}"
}
}MTN & Moov Validation
For MTN and Moov operators, if the push confirmation notification does not automatically appear on the customer's phone, they must dial the following codes to validate the payment:
- MTN CI: Dial
*133#to access the validation menu.- Moov CI: Dial
*155#to access the validation menu.
Response
{
"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
}-
Response Fields Description
Field Description id Unique identifier of the payment session sent by novasend. type Operation type ( payin).reference Merchant-provided reference identifying the payment. status Current payment status ( processing,processed,expired, etc.).confirmationRequired Indicates whether customer confirmation is required before the payment is executed. confirmationStatus Current confirmation state ( none,pending,accepted,declined).paymentUrl Web/deep link allowing the customer to confirm the payment. For a Wave payment, this field will contain the redirect URL to Wave.isDirect Indicates whether the payment was initiated as a direct flow. payFee Indicates whether fees are paid by the merchant. createdAt Payment session creation timestamp. amount Initial payment amount. fee Service fees applied to the payment. chargedAmount Total debited amount (amount + fees). currency Transaction currency ( XOF,USD, etc.).failure Error details if the payment failed ( nullif successful).
-
customer
Champ Description name Name of the customer. phoneNumber Customer phone number (international format).
-
mobileMoney
Field Description provider Object containing Mobile Money provider information. provider.name Mobile Money provider identifier (e.g. WAVE_CI).
-
Payment status
GET https://business.novasend.app/v1/payin/{reference}
This endpoint allows you to retrieve the current status of a payment at any time.
Response
{
"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
}