Buy airtime with mobile money
POST
/airtime-api/buyTops up a number and charges a mobile money wallet instead of your BulkClix wallet. The payer receives a prompt to approve; poll Check collection status with the returned transaction_id to learn the outcome. Useful for reseller apps where the end customer pays directly.
- Limited to 60 requests per hour.
- Requires collections to be enabled on your account.
Parameters
destinationstringrequiredNumber that receives the airtime.
phoneNumberstringrequiredMobile money number that pays.
networkstringrequiredThe payer's network.
MTNVDFATLamountdecimalrequiredAmount in GHS, 0.50 to 5000.
network_idstringrequiredFrom List networks: the network of the destination number.
typestringrequiredPayment method.
momonamestringoptionalRecipient name for your records.
| Field | Type | Required | Description |
|---|---|---|---|
destination | string | required | Number that receives the airtime. |
phoneNumber | string | required | Mobile money number that pays. |
network | string | required | The payer's network.MTNVDFATL |
amount | decimal | required | Amount in GHS, 0.50 to 5000. |
network_id | string | required | From List networks: the network of the destination number. |
type | string | required | Payment method.momo |
name | string | optional | Recipient name for your records. |
Errors
- 403Your account is not allowed for momo collection. Kindly Contact Support
- 404Invalid Plan ID
Request
curl -X POST "https://api.bulkclix.com/api/v1/airtime-api/buy" \ -H "x-api-key: YOUR_API_KEY" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "destination": "0241234567", "phoneNumber": "0551234567", "network": "MTN", "amount": 10, "network_id": "a1b2c3d4-0000-4000-8000-000000000001", "type": "momo" }'
Response · 200
application/json
{ "message": "Payment Initiated Successful", "data": { "payment": { "amount": 10, "phone_number": "0551234567", "ext_transaction_id": "925864938364", "transaction_id": "36b083ee-6dc8-4587-9bca-b695fdd1340a", "type": "momo", "currency": "GHS", "status": "pending" }, "airtime": { "amount": 10, "phone_number": "0241234567", "status": "pending" } } }