processing (for providers that confirm asynchronously), or fails and is automatically refunded to your wallet.
VTU is enabled per-merchant. If it isn’t enabled on your account, these endpoints return a
SERVICE_NOT_ENABLED error — contact support to request access.Unlike other ABCMPay endpoints, VTU’s
reference is generated by us, not sent by you — it comes back in the purchase response. Save it to poll Check VTU Transaction Status.Buy Airtime
POST/api/v1/vtu/airtime
string
required
One of:
mtn, glo, airtel, 9mobile.string
required
Recipient phone number.
number
required
Amount in Naira (min ₦50, max ₦50,000).
string
default:"VTU"
VTU or Sharesell.Response
success, status, message, reference, token) is returned by every purchase endpoint below.
Data
GET/api/v1/vtu/data-plans?network={network}
Returns available data plans, each with the id you pass as data_plan_id below. network is optional and filters the list.
POST /api/v1/vtu/data
string
required
Recipient phone number.
integer
required
Plan ID from Get Data Plans.
Cable TV
GET/api/v1/vtu/cable-plans?provider_name={provider}
Returns available cable plans (DSTV, GOTV, Startimes). provider_name is optional.
POST /api/v1/vtu/cable
integer
required
Plan ID from Get Cable Plans.
string
required
Smart card / IUC number.
string
Customer phone number.
Electricity
GET/api/v1/vtu/discos
Returns supported electricity providers (discos).
POST /api/v1/vtu/electricity
integer
required
Disco ID from Get Discos.
string
required
Meter number.
string
required
Prepaid or Postpaid.number
required
Amount in Naira (min ₦500, max ₦100,000).
string
string
string
Exam Pins
GET/api/v1/vtu/exam-types
Returns supported exam types (WAEC, NECO, etc.), each with a selling_price.
POST /api/v1/vtu/exam
integer
required
Exam type ID from Get Exam Types.
integer
required
Number of pins (1–20).
Check VTU Transaction Status
GET/api/v1/vtu/transaction/status?reference={reference}
Use the reference returned from any purchase endpoint above.
Response