Buy airtime with mobile money

POST/airtime-api/buy

Tops 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

  • destinationstringrequired

    Number that receives the airtime.

  • phoneNumberstringrequired

    Mobile money number that pays.

  • networkstringrequired

    The payer's network.

    MTNVDFATL
  • amountdecimalrequired

    Amount in GHS, 0.50 to 5000.

  • network_idstringrequired

    From List networks: the network of the destination number.

  • typestringrequired

    Payment method.

    momo
  • namestringoptional

    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"
    }
  }
}