Billers API

The Billers API provides a unified and reliable interface for integrating bill payment services into your applications. It enables businesses and platforms to offer utility bill payments, airtime top-ups, and mobile data purchases through a single integration.

The API supports both individual and bulk transactions, making it suitable for mobile apps, fintech platforms, and enterprise payment systems.

Capabilities

  • Retrieve available bill service providers
  • Validate customer accounts before payment
  • Process bill payments securely
  • Purchase airtime and mobile data
  • Execute bulk transactions efficiently

Authentication

Base URL:https://360pay-merchant-api.libertepay.com
Authorization:API_KEY
Content-Type:application/json

Endpoints Overview

MethodEndpointDescription
GET/bill-payments/bill-servicesRetrieves all available bill service providers, including airtime, mobile data, bill payment, and bulk services.
GET/bill-payments/data-bundles/{telco-name}Fetches available airtime or data bundles for a specified telecom provider.
POST/bill-payments/account-lookupValidates a customer bill account before payment and returns account details when the lookup succeeds.
POST/bill-payments/pay-billProcesses a bill payment for a validated customer account.
POST/bill-payments/bulk-pay-billProcesses multiple bill payments in a single request.
POST/bill-payments/purchase-airtimePurchases airtime for a mobile number.
POST/bill-payments/bulk-airtime-purchaseProcesses airtime purchases for multiple phone numbers in one request.
POST/bill-payments/purchase-mobile-dataPurchases a mobile data bundle for a customer.
POST/bill-payments/bulk-mobile-data-purchaseProcesses multiple mobile data bundle purchases in one request.
GET/bill-payments/bill-services

1. Get Bill Services

Retrieves all available bill service providers, including airtime, mobile data, bill payment, and bulk services.

Request

No request body required.

Response Example
{
  "code": "00",
  "data": [
    {
      "description": "Airtime Purchase",
      "id": 8,
      "name": "Airtime Purchase",
      "service_type": "BILL",
      "status": 1
    },
    {
      "description": "Mobile Data Purchase",
      "id": 9,
      "name": "Mobile Data Purchase",
      "service_type": "BILL",
      "status": 1
    },
    {
      "description": "Bill Payment",
      "id": 10,
      "name": "Bill Payment",
      "service_type": "BILL",
      "status": 1
    },
    {
      "description": "Mobile Data Purchase",
      "id": 11,
      "name": "Bulk Mobile Data Purchase",
      "service_type": "BILL",
      "status": 1
    },
    {
      "description": "Bulk Airtime Purchase",
      "id": 12,
      "name": "Bulk Airtime Purchase",
      "service_type": "BILL",
      "status": 1
    },
    {
      "description": "Bulk Bill Payment",
      "id": 13,
      "name": "Bulk Bill Payment",
      "service_type": "BILL",
      "status": 1
    }
  ],
  "msg": "Bill Services.",
  "status": "SUCCESS"
}
GET/bill-payments/data-bundles/{telco-name}

2. Get Bundles By Telco

Fetches available airtime or data bundles for a specified telecom provider.

Parameters

ParameterTypeRequiredDescription
telco-namestringYesTelecom provider name, for example mtn.

Request

No request body required.

Response Example
{
  "code": "00",
  "data": [
    {
      "airtime_code": "MTNDATA",
      "data_category": "FIXED",
      "data_id": "NACT_Midnight_GHC3_Others",
      "data_name": "NACT_Midnight_GHC3_Others",
      "data_price": "3.0000",
      "data_validity": "NO EXPIRY",
      "data_volume": "GHS 3 (7.27 GB) of midnight bundle",
      "flexible_amount": 0,
      "id": 1,
      "type": "DataBundle"
    },
    {
      "airtime_code": "MTNDATA",
      "data_category": "FLEXI",
      "data_id": "RACT_Data_Flexi_Bundle",
      "data_name": "RACT_Data_Flexi_Bundle",
      "data_price": "0.0000",
      "data_validity": "NO EXPIRY",
      "data_volume": "Flexi",
      "flexible_amount": 1,
      "id": 2,
      "type": "DataBundle"
    },
    {
      "airtime_code": "MTNDATA",
      "data_category": "FIXED",
      "data_id": "RACT_Data_GHC_10_Others",
      "data_name": "RACT_Data_GHC_10_Others",
      "data_price": "10.0000",
      "data_validity": "NO EXPIRY",
      "data_volume": "826.72 MB",
      "flexible_amount": 0,
      "id": 5,
      "type": "DataBundle"
    }
  ],
  "msg": "Bill Services.",
  "status": "SUCCESS"
}
POST/bill-payments/account-lookup

3. Bill Account Lookup

Validates a customer bill account before payment and returns account details when the lookup succeeds.

Parameters

ParameterTypeRequiredDescription
account_numberstringYesCustomer account number with the biller.
biller_slugstringYesBiller service provider slug.
phone_numberstringYesRegistered customer phone number.
Request Body
{
  "account_number": "0174102476796",
  "biller_slug": "electricity-company-of-ghana",
  "phone_number": "233244505019"
}
Response Example
{
  "code": "00",
  "data": {
    "account_name": "John Doe .",
    "account_number": "012344748394",
    "closing_balance": "0",
    "opening_balance": "0"
  },
  "msg": "Account Number Verified.",
  "status": "SUCCESS"
}
POST/bill-payments/pay-bill

4. Pay Bill

Processes a bill payment for a validated customer account.

Parameters

ParameterTypeRequiredDescription
transaction_idstringYesUnique merchant-generated transaction ID.
amountnumberYesTransaction amount.
biller_slugstringYesBiller service provider slug.
account_namestringYesRegistered customer or account name.
account_numberstringYesCustomer account or mobile number with the service provider.
phone_numberstringNoRegistered customer phone number in international format.
narrationstringNoNarration for the transaction.
Request Body
{
  "transaction_id": "BPDED43904343333",
  "amount": 10,
  "biller_slug": "electricity-company-of-ghana",
  "account_name": "John Doe.",
  "phone_number": "2335465783940",
  "account_number": "0174102476456",
  "narration": "Pay Bills"
}
Response Example
{
  "code": "00",
  "data": {
    "transaction_id": "BPDED491434013",
    "transaction_message": "Request Processed"
  },
  "msg": "Bill Payment Processed Successfully.",
  "status": "SUCCESS"
}
POST/bill-payments/bulk-pay-bill

5. Bulk Pay Bills

Processes multiple bill payments in a single request.

Parameters

ParameterTypeRequiredDescription
billsarrayYesList of bill payment transactions to process.
bills[].transaction_idstringYesUnique merchant-generated transaction ID.
bills[].amountnumberYesTransaction amount.
bills[].biller_slugstringYesBiller service provider slug.
bills[].account_namestringYesRegistered customer or account name.
bills[].account_numberstringYesCustomer account or mobile number with the service provider.
bills[].phone_numberstringNoRegistered customer phone number in international format.
bills[].narrationstringNoNarration for the transaction.
Request Body
{
  "bills": [
    {
      "transaction_id": "BPDED43904343333",
      "amount": 10,
      "biller_slug": "electricity-company-of-ghana",
      "account_name": "JOHN DOE.",
      "phone_number": "233123456789",
      "account_number": "0174102476796",
      "narration": "Pay Bills"
    },
    {
      "transaction_id": "FDDED43904343334",
      "amount": 20,
      "biller_slug": "electricity-company-of-ghana",
      "account_name": "JAMES MADISSON",
      "phone_number": "233546124946",
      "account_number": "0174102476796",
      "narration": "November Bills"
    }
  ]
}
Response Example
{
  "code": "00",
  "data": {
    "bulk_transaction_id": "BLKe2yfDG9JVWIHVSi0",
    "results": [
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED43904343343"
      },
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED43903343333"
      }
    ]
  },
  "msg": "Bulk Airtime Purchase Processed.",
  "status": "SUCCESS"
}
POST/bill-payments/purchase-airtime

6. Purchase Airtime

Purchases airtime for a mobile number.

Parameters

ParameterTypeRequiredDescription
transaction_idstringYesUnique merchant-generated transaction ID.
amountnumberYesTransaction amount.
biller_slugstringYesBiller service provider slug.
account_namestringYesRegistered customer or account name.
account_numberstringYesCustomer account or mobile number with the service provider.
phone_numberstringNoRegistered customer phone number in international format.
narrationstringNoNarration for the transaction.
Request Body
{
  "transaction_id": "BPDED4391434013",
  "amount": 0.5,
  "biller_slug": "mtn-airtime",
  "account_name": "James Brown",
  "phone_number": "233557340000",
  "account_number": "2335573994",
  "narration": "Buy airtime"
}
Response Example
{
  "code": "00",
  "data": {
    "transaction_id": "BPDED491434013",
    "transaction_message": "Request Processed"
  },
  "msg": "Bill Payment Processed Successfully.",
  "status": "SUCCESS"
}
POST/bill-payments/bulk-airtime-purchase

7. Bulk Purchase Airtime

Processes airtime purchases for multiple phone numbers in one request.

Parameters

ParameterTypeRequiredDescription
billsarrayYesList of airtime purchase transactions to process.
bills[].transaction_idstringYesUnique merchant-generated transaction ID.
bills[].amountnumberYesTransaction amount.
bills[].biller_slugstringYesBiller service provider slug.
bills[].account_namestringYesRegistered customer or account name.
bills[].account_numberstringYesCustomer account or mobile number with the service provider.
bills[].narrationstringNoNarration for the transaction.
Request Body
{
  "bills": [
    {
      "transaction_id": "BPDED113114340155",
      "amount": 0.5,
      "biller_slug": "mtn-airtime",
      "account_name": "James Bond",
      "account_number": "233123457690",
      "narration": "Buy airtime james"
    },
    {
      "transaction_id": "BPDED123114340156",
      "amount": 0.3,
      "biller_slug": "mtn-airtime",
      "account_name": "Rose Bond",
      "account_number": "23354234567",
      "narration": "Buy airtime rose"
    },
    {
      "transaction_id": "BPDED133114340157",
      "amount": 0.2,
      "biller_slug": "mtn-airtime",
      "account_name": "William Kwamz",
      "account_number": "23334586595",
      "narration": "Buy airtime William"
    },
    {
      "transaction_id": "BPDED133124340158",
      "amount": 0.2,
      "biller_slug": "mtn-airtime",
      "account_name": "Frank Bond",
      "account_number": "23345768943",
      "narration": "Buy airtime"
    }
  ]
}
Response Example
{
  "code": "00",
  "data": {
    "bulk_transaction_id": "BLKQaBWs19V59YkzbZl",
    "results": [
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED113114340105"
      },
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED123114347156"
      },
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED133114349157"
      },
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED133127340158"
      }
    ]
  },
  "msg": "Bulk Airtime Purchase Processed.",
  "status": "SUCCESS"
}
POST/bill-payments/purchase-mobile-data

8. Purchase Mobile Data

Purchases a mobile data bundle for a customer.

Parameters

ParameterTypeRequiredDescription
transaction_idstringYesUnique merchant-generated transaction ID.
amountnumberYesTransaction amount.
biller_slugstringYesBiller service provider slug.
account_namestringYesRegistered customer or account name.
account_numberstringYesCustomer account or mobile number with the service provider.
narrationstringNoNarration for the transaction.
data_idstringYesUnique data bundle package ID returned by Get Bundles By Telco.
Request Body
{
  "transaction_id": "BPDED4311431231",
  "amount": 3,
  "biller_slug": "mtn-data-bundle",
  "account_name": "Anton Bond",
  "account_number": "23323456777",
  "data_id": "RACT_Social_Flexi_Bundle",
  "narration": "Wannna Buy Some Data."
}
Response Example
{
  "code": "00",
  "data": {
    "transaction_id": "BPDED4311434231",
    "transaction_message": "Request Processed"
  },
  "msg": "Bundle Purchase Processed Successfully.",
  "status": "SUCCESS"
}
POST/bill-payments/bulk-mobile-data-purchase

9. Bulk Purchase Mobile Data

Processes multiple mobile data bundle purchases in one request.

Parameters

ParameterTypeRequiredDescription
billsarrayYesList of mobile data purchases to process.
bills[].transaction_idstringYesUnique merchant-generated transaction ID.
bills[].amountnumberYesTransaction amount.
bills[].biller_slugstringYesBiller service provider slug.
bills[].account_namestringYesRegistered customer or account name.
bills[].account_numberstringYesCustomer account or mobile number with the service provider.
bills[].narrationstringNoNarration for the transaction.
bills[].data_idstringYesUnique data bundle package ID returned by Get Bundles By Telco.
Request Body
{
  "bills": [
    {
      "transaction_id": "BPDED43911302021",
      "amount": 0.5,
      "biller_slug": "mtn-data-bundle",
      "account_name": "JOHN DOE",
      "account_number": "23323456788",
      "data_id": "RACT_Social_Flexi_Bundle",
      "narration": "Wannna Buy Some Data Now."
    },
    {
      "transaction_id": "BPDED031911302231",
      "amount": 0.4,
      "biller_slug": "mtn-data-bundle",
      "account_name": "SANDRA DOE",
      "account_number": "233247880344",
      "data_id": "RACT_Social_Flexi_Bundle",
      "narration": "Wannna Buy Some Data."
    }
  ]
}
Response Example
{
  "code": "00",
  "data": {
    "bulk_transaction_id": "BLKCZJotEPHsreC03BK",
    "results": [
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED4391102021"
      },
      {
        "message": "Transaction initiated",
        "status": "SUCCESS",
        "transaction_id": "BPDED03911302231"
      }
    ]
  },
  "msg": "Bulk Mobile Data Purchase Processed.",
  "status": "SUCCESS"
}