Collect with Airtel
Start an Airtel Money collection with a merchant session.
POST
/payment/airtel-momo-payAPIAuthentication:Bearer token
Authorization: Bearer <token>Security requirement: 403 CSRF Protection
Direct server-to-server calls authenticated via Bearer tokens do not require CSRF headers. If you instead invoke mutation endpoints from a web browser using cookie-based sessions, you must include the following header:
X-Requested-With: XMLHttpRequestRequest body
| Field | Type | Required | Description |
|---|---|---|---|
amount | number or string | Required | Collection amount in the configured Airtel currency. The example server configuration uses RWF. |
number | string | Required | Subscriber MSISDN phone number (e.g., '788000000'). |
reference | string | Required | Your unique merchant order or transaction reference. |
Response fields
| Field | Type | Presence | Description |
|---|---|---|---|
data.transaction.id | string | Always returned | Airtel transaction reference ID. |
data.transaction.status | string | Always returned | Transaction processing status from Airtel gateway. |
status.code | string | Always returned | Response status code from Airtel. |
status.message | string | Always returned | Status description message from Airtel. |
status.success | boolean | Always returned | True when debit request is accepted for processing. |
Status codes
| HTTP Status | Meaning |
|---|---|
| 200 | Airtel response body. |
| 400 | amount, number, or reference missing. |
| 401 | No merchant session. Missing Bearer token. |
| 429 | Payment rate limit exceeded (15 req/min). |
| 500 | Airtel gateway call failed. |
Notes
- Illustrative example. The sample transaction id is not a production record.
- Airtel country and currency come from server configuration. The example configuration is country RW, currency RWF, and an Airtel UAT token URL. Live Airtel is not confirmed.
- HTTP 400 is { message: "Please provide all required inputs (amount, number, and reference)" }.
- HTTP 500 is { error: "Error processing Airtel Money payment" }.