Niger
Mobile money payments in XOF
Before you start
Authorization
How to sign your requests with the API token.
Create payment
The base order request that this page extends.
This payment method is not enabled for all merchants. Check availability with your manager.
Overview
| Currency | Country code | Payment methods |
|---|---|---|
XOF | NE | Mobile money: Airtel, Amana, Zamani |
Which operator is enabled for your account is defined by your terminal settings.
Not sure which option you have? Ask your manager.
What is different from a regular order
The order is created through the standard POST /v1/orders endpoint. The base fields (amount, currency, successUrl, failUrl, callbackUrl, etc.) are the same as for a regular order; on top of them you pass the customer object with payer details.
| Field | Type | Description |
|---|---|---|
customer | object | Payer details. The required set is listed below |
The externalUserId field is required for this payment method.
Operators: Airtel, Amana, Zamani.
The payer is redirected to paymentLink, the provider page, and confirms the payment there (some operators also send a confirmation to the phone).
Customer fields
| Field | Type | Required | Description |
|---|---|---|---|
phone | string | ✅ Yes | Payer phone number, digits only with the country code: 22790123456 |
firstName | string | ✅ Yes | First name |
lastName | string | ✅ Yes | Last name |
email | string | ✅ Yes | Payer email |
country | string | ❌ No | Country code NE. Optional: the country is defined by the method |
The required set depends on the operator enabled on your terminal. If a field it needs is missing or the phone does not match the country format, the order is rejected with 400 listing the fields. Send firstName, lastName, email and phone whenever you have them.
Request example
{
"purpose": "Payment for order #1234",
"amount": "1000",
"currency": "XOF",
"externalId": "external_id",
"externalUserId": "external_user_id",
"successUrl": "https://example.com/success",
"failUrl": "https://example.com/fail",
"callbackUrl": "https://example.com/webhooks/payments",
"isFeeOnUser": false,
"customer": {
"firstName": "John",
"lastName": "Doe",
"phone": "22790123456",
"email": "john.doe@example.com"
}
}Amounts must be multiples of 5 (provider requirement), otherwise the payment is declined.
Response
The response is a standard order object. The order is created with the CREATED status; redirect the payer to paymentLink to complete the payment.