Data Bundles

Purchase mobile data bundles for MTN, MTN Fibre, AirtelTigo, Telecel, and Glo. Each network has its own purchase endpoint and lookup flow. Use the lookup endpoint immediately before purchase because bundle identifiers and prices can change.

Use the right identifier for the network. MTN, MTN Fibre, and AT purchases use product_id. Telecel and Glo purchases use bundle_id.

Endpoints

Network Purchase Endpoint Lookup Endpoint Purchase Identifier
MTN Data /api/v1.0/mtn_data_topup/ /api/v1.0/get_mtndata_product_id/
Alias: /api/v1.0/get_mtn_data_bundles/
product_id
MTN Fibre /api/v1.0/mtn_fibre_topup/ /api/v1.0/get_mtnfibre_product_id/ product_id
AirtelTigo Data /api/v1.0/airteltigo_data_topup/ /api/v1.0/get_airteltigodata_product_id/ product_id
Telecel Data /api/v1.0/vodafone_data_topup/ /api/v1.0/get_vodafonedata_product_id/ bundle_id
Glo Data /api/v1.0/new_glo_data_purchase/ /api/v1.0/new_glo_data_get_bundle_types/
/api/v1.0/new_get_glodata_bundles/
bundle_id

Bundle Lookup

Lookup responses return the currently available bundles or products for the selected network. Use the returned amount when setting amount in the purchase request. The lookup endpoints have been listed above for each network

POST LOOKUP ENDPOINT ABOVE
Lookup Request
{
  "client_id": 2
}

Purchase Request Body

Send a JSON request body with Content-Type: application/json and the HMAC authorization header described in the Authentication page.

Parameter Required Description
customer_number Mandatory Recipient number in local format beginning with 0, for example 0241234567.
amount Mandatory Bundle amount in Ghana cedis. This must match the selected bundle or product.
transaction_id Mandatory Unique reference from your system. Duplicate transaction IDs are rejected.
client_id Mandatory Your Client ID from the dashboard.
callback_url Mandatory Public URL that receives the final transaction result.
product_id Mandatory for MTN, MTN Fibre, AirtelTigo Product identifier returned by the applicable product lookup endpoint.
bundle_id Mandatory for Telecel, Glo Bundle identifier returned by the applicable bundle lookup endpoint.
description, payer_name, extra_info Optional Metadata stored against the transaction and made available in transaction reporting.

Purchase Examples

MTN, MTN Fibre, or AirtelTigo

Request
curl -X POST https://testxchange.korba365.com/api/v1.0/mtn_data_topup/ \
  -H "Authorization: HMAC YOUR_CLIENT_KEY:YOUR_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_number": "0241234567",
    "amount": "15.00",
    "transaction_id": "DATA-20260626-001",
    "client_id": 2,
    "product_id": "1001",
    "callback_url": "https://yourapp.com/callbacks/data/"
  }'

Telecel or Glo

Request
curl -X POST https://testxchange.korba365.com/api/v1.0/new_glo_data_purchase/ \
  -H "Authorization: HMAC YOUR_CLIENT_KEY:YOUR_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_number": "0241234567",
    "amount": "10.00",
    "transaction_id": "DATA-20260626-002",
    "client_id": 2,
    "bundle_id": "2001",
    "callback_url": "https://yourapp.com/callbacks/data/"
  }'

Responses

200 OK
{
  "success": true,
  "results": "Transaction initiated successfully.",
  "error_code": null
}
400 Bad Request
{
  "success": false,
  "error_code": 405,
  "error_message": "Duplicate Transaction ID"
}
Previous Airtime Topup Next ECG