Airtime and Data Vending

Make airtime purchases via parent account

Changed on

You can use this endpoint to make airtime purchases via parent account.

post/v2/bill/topup

Request

  • Base URL
    https://api.nomba.com
  • URL
    https://api.nomba.com/v2/bill/topup
  • Auth
    HTTP bearer

Headers

accountIdstring uuid required
Example:890022ce-bae0-45c1-9b9d-ee7872e6ca27

The parent accountId of the business.

Request body

amountnumber double required

The airtime amount to be purchased

phoneNumberstring required

Recipient phone number

network'GLO' | 'MTN' | '9MOBILE' | 'AIRTEL' required

Recipient network (telco). It can also come as lowercased values e.g. glo, mtn etc.

merchantTxRefstring required

Merchant Transaction Identifier reference (Unique to merchant)

This is an idempotency key and must be unique per transaction.

senderNamestring

A name to describe the sender of the airtime

Example request

{
  "amount": 200,
  "phoneNumber": "08055441122",
  "network": "GLO",
  "merchantTxRef": "3bvwhibh38220dsjakTwvb",
  "senderName": "John Doe"
}

Response

OK - your request was successful.

code'200' | '201' | '400' | '401' | '403' | '429' | '500' required

Response code. This reflects the HTTP status code of the response, e.g. 200 when the request completed successfully and 201 when it was accepted and is still being processed.

descriptionstring required

Response description

messagestring

Response message

statusboolean

Whether the request was successful

Example response

{
  "code": "200",
  "description": "SUCCESS",
  "message": "Transaction completed Successfully",
  "status": true,
  "data": {
    "id": "API-TOPUP-A6950-8c060b7c-4155-4e33-a846-101b49229c33",
    "status": "SUCCESS",
    "type": "topup",
    "amount": 100,
    "source": "api",
    "customerBillerId": "08123456788",
    "productId": "62130",
    "meta": {
      "api_rrn": "260926204701",
      "rrn": "260926204701",
      "api_account_id": "0167288-d989-460a-bbde-9842f2b4320f",
      "api_client_id": "2167288-d989-460a-bbde-9842f2b4320f",
      "user_id": "0167288-d989-460a-bbde-9842f2b4320f",
      "merchantTxRef": "REF-29-07-2026-12",
      "allowDuplicate": true,
      "sender_name": "John Doe",
      "idempotentKey": "0167288-d989-460a-bbde-9842f2b4320f_REF-29-07-2026-12",
      "pos_withdrawal_id": "0167288-d989-460a-bbde-9842f2b4320f_REF-29-07-2026-12",
      "userName": "John Doe",
      "isCorporate": "true",
      "currency": "NGN",
      "hooksEligible": "true",
      "isSubscribedToSavingsService": false,
      "isSubscribedToLoanService": false,
      "txnAlertEligible": true,
      "banking_entity_id": 189585760,
      "banking_entity_user_id": 188595905,
      "banking_entity_type": "CORPORATE",
      "transactionCategory": "Bills & Utility",
      "network": "mtn",
      "subscriberNumber": "08123456788",
      "amount_charged": "100.0",
      "wallet_balance": "610.55",
      "wallet_currency": "NGN",
      "agent_commission": "2.0",
      "gatewayMessage": "Success",
      "billingServiceTransactionId": "6ab821352669ea6eac2bb2ba",
      "billingServiceResponse": "SUCCESS",
      "income": "0.5",
      "paymentFee": 0,
      "tx_revenue": "2.5",
      "phoneNumber": "08123456788"
    },
    "timeCreated": "2026-09-26T19:47:01.514+00:00"
  }
}

Changes