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). | ✅ |
| 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": "WAVE",
"country": "CM"
},
"action": {
"successUrl": "{{Your Success URL}}",
"failureUrl": "{{Your Failure URL}}"
}
}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
}