Bills Payments

This section details all APIs endpoints needed to purchase bill payments. Supported Bill Payments include - Airtime, Data purchase, Electricity bills, Cable bills and Government remittance.

For the best experience, We recommend reading the overview first.

Get Bill Categories

This endpoint helps developers to retrieve the information for each Biller. These information are important as they are required for the bill payment attempt. You can filter your query by biller type and biller_code.

get https://api.flutterwave.com/v3/bill-categories

Query Params

airtime int32

This parameter allows you filter the response object for airtime billers only (MTN, Vodafone, Airtel, 9mobile). You should set this to 1 if you would like to filter only airtime billers. Expected values are 0 and 1.

data_bundle int32

This parameter allows you filter the response object for data billers only (MTN, Vodafone, Airtel, 9mobile). You should set this to 1 if you would like to filter only data billers. Expected values are 0 and 1.

power int32

This parameter allows you filter the response object for power billers only (EKEDC, IKEDC, KDLC). You should set this to 1 if you would like to filter only power billers. Expected values are 0 and 1.

internet int32

This parameter allows you filter the response object for internet billers only (SWIFT, Smile, ipNX). You should set this to 1 if you would like to filter only internet billers. Expected values are 0 and 1.

toll int32

This parameter allows you filter the response object for toll billers only. You should set this to 1 if you would like to filter only toll billers. Expected values are 0 and 1.

cable int32

This parameter allows you filter the response object for cable billers only (DSTV, Startimes, GOTV). You should set this to 1 if you would like to filter only cable billers. Expected values are 0 and 1.

biller_code string

This parameter allows you filter the response object for a specific Biller using the biller_code.

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

const Flutterwave = require("flutterwave-node-v3");
const flw = new Flutterwave("public key", "secret key");
await flw.Bills.fetch_bills_Cat();
require("Flutterwave-PHP-v3/library/Transactions.php");
use Flutterwave\Transactions;
$payment = new Bill();
$getBillCategories = $payment->getBillCategories();
require './flutterwave_sdk'
payment = Flutterwave.new("public key", "secret key", "encryption key")
bill = Bills.new(payment)
response = bill.get_bill_categories
print response
{
  "status": "success",
  "message": "bill categories retrieval successful",
  "data": [
    {
      "id": 1,
      "biller_code": "BIL099",
      "name": "MTN NIgeria",
      "default_commission": 0.02,
      "date_added": "2018-07-03T00:00:00Z",
      "country": "NG",
      "is_airtime": true,
      "biller_name": "AIRTIME",
      "item_code": "AT099",
      "short_name": "MTN",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Mobile Number",
      "amount": 0
    },
    {
      "id": 2,
      "biller_code": "BIL099",
      "name": "GLO Nigeria",
      "default_commission": 0.025,
      "date_added": "2018-07-03T00:00:00Z",
      "country": "NG",
      "is_airtime": true,
      "biller_name": "AIRTIME",
      "item_code": "AT099",
      "short_name": "GLO",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Mobile Number",
      "amount": 0
    },
    {
      "id": 3,
      "biller_code": "BIL099",
      "name": "9Mobile",
      "default_commission": 0.025,
      "date_added": "2018-07-03T00:00:00Z",
      "country": "NG",
      "is_airtime": true,
      "biller_name": "AIRTIME",
      "item_code": "AT099",
      "short_name": "9mobile",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Mobile Number",
      "amount": 0
    },
    {
      "id": 4,
      "biller_code": "BIL099",
      "name": "Airtel Nigeria",
      "default_commission": 0.025,
      "date_added": "2018-07-03T00:00:00Z",
      "country": "NG",
      "is_airtime": true,
      "biller_name": "AIRTIME",
      "item_code": "AT099",
      "short_name": "Airtel",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Mobile Number",
      "amount": 0
    },
    {
      "id": 5,
      "biller_code": "BIL132",
      "name": "Airtime",
      "default_commission": 0.025,
      "date_added": "2018-08-17T00:00:00Z",
      "country": "GH",
      "is_airtime": true,
      "biller_name": "AIRTIME",
      "item_code": "AT217",
      "short_name": "Airtime",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Mobile Number",
      "amount": 0
    },
    {
      "id": 6,
      "biller_code": "BIL135",
      "name": "Airtime",
      "default_commission": 0.025,
      "date_added": "2018-08-17T00:00:00Z",
      "country": "US",
      "is_airtime": true,
      "biller_name": "AIRTIME",
      "item_code": "AT219",
      "short_name": "Airtime",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Mobile Number",
      "amount": 0
    },
    {
      "id": 7,
      "biller_code": "BIL119",
      "name": "DSTV Payment",
      "default_commission": 0.3,
      "date_added": "2018-08-17T00:00:00Z",
      "country": "NG",
      "is_airtime": false,
      "biller_name": "DSTV",
      "item_code": "CB141",
      "short_name": "DSTV",
      "fee": 100,
      "commission_on_fee": true,
      "label_name": "Smart Card Number",
      "amount": 0
    },
    {
      "id": 8,
      "biller_code": "BIL137",
      "name": "DSTV Payment",
      "default_commission": 0,
      "date_added": "2018-08-17T00:00:00Z",
      "country": "GH",
      "is_airtime": false,
      "biller_name": "DSTV",
      "item_code": "CB226",
      "short_name": "DSTV",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Smart card Number",
      "amount": 0
    },
    {
      "id": 9,
      "biller_code": "BIL119",
      "name": "DSTV BoxOffice",
      "default_commission": 0.3,
      "date_added": "2018-08-17T00:00:00Z",
      "country": "NG",
      "is_airtime": false,
      "biller_name": "DSTV BOX OFFICE",
      "item_code": "CB140",
      "short_name": "Box Office",
      "fee": 100,
      "commission_on_fee": true,
      "label_name": "Smart Card Number",
      "amount": 0
    },
    {
      "id": 10,
      "biller_code": "BIL127",
      "name": "LCC Lekki",
      "default_commission": 0.3,
      "date_added": "2019-02-20T00:00:00Z",
      "country": "NG",
      "is_airtime": false,
      "biller_name": "LCC",
      "item_code": "UB224",
      "short_name": "LCC Lekki-Epe Expressway",
      "fee": 100,
      "commission_on_fee": true,
      "label_name": "LCC Account Number",
      "amount": 0
    },
    {
      "id": 11,
      "biller_code": "BIL127",
      "name": "LCC Ikoyi",
      "default_commission": 0.3,
      "date_added": "2019-02-20T00:00:00Z",
      "country": "NG",
      "is_airtime": false,
      "biller_name": "LCC",
      "item_code": "UB225",
      "short_name": "LCC Ikoyi Bridge",
      "fee": 100,
      "commission_on_fee": true,
      "label_name": "Lcc Account Number",
      "amount": 0
    },
    {
      "id": 13,
      "biller_code": "BIL110",
      "name": "EKO PREPAID",
      "default_commission": 0.3,
      "date_added": "2019-03-20T00:00:00Z",
      "country": "NG",
      "is_airtime": false,
      "biller_name": "EKEDC PREPAID TOPUP",
      "item_code": "UB134",
      "short_name": "EKO PREPAID",
      "fee": 100,
      "commission_on_fee": true,
      "label_name": "Meter Number",
      "amount": 0
    },
    {
      "id": 14,
      "biller_code": "BIL110",
      "name": "EKO PPOSTPAID",
      "default_commission": 0.3,
      "date_added": "2019-02-03T00:00:00Z",
      "country": "NG",
      "is_airtime": false,
      "biller_name": "EKEDC POSTPAID TOPUP",
      "item_code": "UB135",
      "short_name": "EKO POSTPAID",
      "fee": 100,
      "commission_on_fee": true,
      "label_name": "Meter Number",
      "amount": 0
    },
    {
      "id": 15,
      "biller_code": "BIL138",
      "name": "AIRTEL",
      "default_commission": 0.01,
      "date_added": "2020-04-21T00:57:29.31Z",
      "country": "KE",
      "is_airtime": false,
      "biller_name": "AIRTEL",
      "item_code": "AT152",
      "short_name": "AIRTEL",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Mobile Number",
      "amount": 0
    },
    {
      "id": 16,
      "biller_code": "BIL139",
      "name": "DSTV",
      "default_commission": 0.005,
      "date_added": "2020-04-21T00:59:45.103Z",
      "country": "KE",
      "is_airtime": false,
      "biller_name": "DSTV",
      "item_code": "CB153",
      "short_name": "DSTV",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Smart Card Number",
      "amount": 0
    },
    {
      "id": 17,
      "biller_code": "BIL140",
      "name": "Prepaid",
      "default_commission": 0.005,
      "date_added": "2020-04-21T01:00:38.92Z",
      "country": "KE",
      "is_airtime": false,
      "biller_name": "Prepaid",
      "item_code": "UB154",
      "short_name": "Prepaid",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Meter Number",
      "amount": 0
    },
    {
      "id": 18,
      "biller_code": "BIL140",
      "name": "Postpaid",
      "default_commission": 0.005,
      "date_added": "2020-04-21T01:00:38.92Z",
      "country": "KE",
      "is_airtime": false,
      "biller_name": "Postpaid",
      "item_code": "UB155",
      "short_name": "Postpaid",
      "fee": 0,
      "commission_on_fee": false,
      "label_name": "Meter Number",
      "amount": 0
    }
  ]
}
{}

Validate a bill service

This document shows you how to validate services like DSTV smartcard no, Meter number etc.

get https://api.flutterwave.com/v3/bill-items/:item_code/validate

Path Params

item_code string

This code is returned from the /getBillCategory endpoint as data[i].item_code, where i is the index in the data array contained in the response object.

Query Params

code string

This is the biller code. It is returned in the /getBillCategory endpoint as data[i].biller_code, where i is the index in the data array contained in the response object.

customer string

This is the customer identifier for the bill payment e.g. for airtime, the identifier would be the customer's mobile number.

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

This document shows you how to validate services like DSTV smartcard no, Meter number etc.
const Flutterwave = require("flutterwave-node-v3");
const flw = new Flutterwave("public key", "secret key");
const payload = {
  item_code: "AT099",
  code: "BIL099",
  customer: "+2348109328188",
};
const response = await flw.Bills.validate(payload);
require("Flutterwave-PHP-v3/library/Transactions.php");
use Flutterwave\Transactions;
$getdata = array(
  "customer"=> "+2348109328188",
  "id"=>"BIL136",
  "product_id"=>"OT150"
);
$payment = new Bill();
$getresult = $payment->getBill($getdata);
print_r($getresult);
{
  "status": "success",
  "message": "Item validated successfully",
  "data": {
    "response_code": "00",
    "address": null,
    "response_message": "Successful",
    "name": "MTN",
    "biller_code": "BIL099",
    "customer": "08109328188",
    "product_code": "AT099",
    "email": null,
    "fee": 0,
    "maximum": 0,
    "minimum": 0
  }
}
{}

Create a bill payment

This endpoint allows you to initiate the bill payment. You can create Airtime, Data, Cable, Power, Toll and other bill payment you need. Kindly note that your balance should be funded as your wallet would be debited for successful API calls.

post https://api.flutterwave.com/v3/bills

Body Params

country string

This is the country attached to the service being bought e.g. if service is Airtime and country is NG it means you are buying airtime in Nigeria

customer string

This is the customer identifier for the bill payment e.g. for airtime, the identifier would be the customer's mobile number.

amount int32

This is the amount for the service you would like to buy

recurrence string

This determines if you are buying a service recurrently or not. ONCE - This is a one time payment, HOURLY - This is an hourly payment, DAILY - This is a daily payment, WEEKLY - This is a weekly payment, MONTHLY - This is a monthly payment. It defaults to ONCE when the value is not provided

type string

Fetch the possible values to pass from data.biller_name on the Bill categories endpoint. Note that these values are case sensitive and must be passed exactly the way it was returned on the Categories API

reference string

This is a unique reference passed by the developer to identify transactions on their end

biller_name string

This is the particular biller you're paying to. You can get a list of all the possible billers here. Only pass this value for Ghana Airtime bills

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

var axios = require('axios');
var config = {
 'method': 'POST',
  'url': '{{BASE_API_URL}}/bills',
  'headers': {
    'Authorization': 'Bearer {SEC_KEY}',
    'Content-Type': 'application/json'
  },
    data: {
    country: 'NG',
    customer: '+23490803840303',
    amount: '500',
    recurrence: 'ONCE',
    type: 'AIRTIME',
    reference: '9300049404444',
    biller_name: 'DSTV, MTN VTU, TIGO VTU, VODAFONE VTU, VODAFONE POSTPAID PAYMENT'
  }

};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

});
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.flutterwave.com//v3/bills',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
"amount": 50,
"biller_name": "AIRTEL 40 MB data bundle",
"country": "NG",
"customer": "09046646693",
"package_data": "DATA",
"recurrence": "ONCE",
"reference": "16062933142381",
"type": "AIRTEL 40 MB data bundle"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

require "uri"
require "json"
require "net/http"

url = URI("https://api.flutterwave.com//v3/bills")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
  "amount": 50,
  "biller_name": "AIRTEL 40 MB data bundle",
  "country": "NG",
  "customer": "09046646693",
  "package_data": "DATA",
  "recurrence": "ONCE",
  "reference": "16062933142381",
  "type": "AIRTEL 40 MB data bundle"
})

response = https.request(request)
puts response.read_body

{
  "status": "success",
  "message": "Bill payment successful",
  "data": {
    "phone_number": "+23490803840303",
    "amount": 500,
    "network": "9MOBILE",
    "flw_ref": "CF-FLYAPI-20200311081921359990",
    "tx_ref": "BPUSSD1583957963415840",
    "reference": null
  }
}
{}

Create bulk bills

This document shows you how to create bulk bills payment

This document shows you how to create bulk bills payment

post https://api.flutterwave.com/v3/bulk-bills

Body Params

bulk_reference string

This is a reference that identifies the batch request being made for bulk requests

callback_url string

This is an endpoint supplied by you the developer/merchant so we can send a response when each request in the bulk is completed

bulk_data array of objects

This is an array containing each individual requests in the batch.

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

var axios = require("axios");
var data = JSON.stringify({
  bulk_reference: "edf-12de5223d2f32",
  callback_url: "https://webhook.site/5f9a659a-11a2-4925-89cf-8a59ea6a019a",
  bulk_data: [
    {
      country: "NG",
      customer: "+23490803840303",
      amount: 500,
      recurrence: "WEEKLY",
      type: "AIRTIME",
      reference: "930049200929",
    },
    {
      country: "NG",
      customer: "+23490803840304",
      amount: 500,
      recurrence: "WEEKLY",
      type: "AIRTIME",
      reference: "930004912332",
    },
  ],
});

var config = {
  method: "post",
  url: "https://api.flutterwave.com//v3/bulk-bills",
  headers: {
    Authorization: "Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X",
    "Content-Type": "application/json",
  },
  data: data,
};

axios(config)
  .then(function (response) {
    console.log(JSON.stringify(response.data));
  })
  .catch(function (error) {
    console.log(error);
  });
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.flutterwave.com//v3/bulk-bills',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "bulk_reference": "edf-12de5223d2f32",
  "callback_url": "https://webhook.site/5f9a659a-11a2-4925-89cf-8a59ea6a019a",
  "bulk_data": [
     {
        "country": "NG",
        "customer": "+23490803840303",
        "amount": 500,
        "recurrence": "WEEKLY",
        "type": "AIRTIME",
        "reference": "930049200929"
      },
      {
        "country": "NG",
        "customer": "+23490803840304",
        "amount": 500,
        "recurrence": "WEEKLY",
        "type": "AIRTIME",
        "reference": "930004912332"
      }
  ]
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


require "uri"
require "json"
require "net/http"

url = URI("https://api.flutterwave.com//v3/bulk-bills")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
  "bulk_reference": "edf-12de5223d2f32",
  "callback_url": "https://webhook.site/5f9a659a-11a2-4925-89cf-8a59ea6a019a",
  "bulk_data": [
    {
      "country": "NG",
      "customer": "+23490803840303",
      "amount": 500,
      "recurrence": "WEEKLY",
      "type": "AIRTIME",
      "reference": "930049200929"
    },
    {
      "country": "NG",
      "customer": "+23490803840304",
      "amount": 500,
      "recurrence": "WEEKLY",
      "type": "AIRTIME",
      "reference": "930004912332"
    }
  ]
})

response = https.request(request)
puts response.read_body


{
  "status": "success",
  "message": "Bulk bill Payment was queued for processing",
  "data": {
    "batch_reference": "CF-BATCH-FLY-API-20200310042210201008"
  }
}
{}

Get status of a bill payment

This document shows you how to get the status of a bill purchase

get https://api.flutterwave.com/v3/bills/{reference}

Path Params

reference string

This is the tx_ref of the bill transaction

Query Params

verbose int32

This flag allows us to return the status of the bill payment from the provider.

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

import axios from "axios";

const options = {
  method: "GET",
  url: "https://api.flutterwave.com/v3/bills/9300049404444",
  headers: {
    Accept: "application/json",
    Authorization: "Bearer FLWSECK_TEST-SANDBOXDEMOKEY-X",
    "Content-Type": "application/json",
  },
};

axios
  .request(options)
  .then(function (response) {
    console.log(response.data);
  })
  .catch(function (error) {
    console.error(error);
  });
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "{{BASE_API_URL}}/bills/9300049404444",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer {SEC_KEY}",
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

require "uri"
require "net/http"

url = URI("{{BASE_API_URL}}/bills/9300049404444")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer {SEC_KEY}"
request["Content-Type"] = "application/json"

response = http.request(request)
puts response.read_body
{
  "status": "success",
  "message": "Bill status fetch successful",
  "data": {
    "tx_ref": "CF-FLYAPI-201808240106311799470372",
    "amount": 500,
    "fee": 0,
    "currency": null,
    "extra": null,
    "flw_ref": null,
    "token": null
  }
}
{}

Get bill payments

This document shows you how to retrieve a history of all purchased bill services including commission earned

get https://api.flutterwave.com/v3/bills

Query Params

from string

This is the start date it can be in any of this formats: YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DD

to string

This is the end date, it can be in any of this formats: YYYY-MM-DDTHH:MM:SSZ or YYYY-MM-DD

page string

This is the page you want to start from

reference string

This is the customer ID, pass this if you want to retrieve bill history for a particular customer ID

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

var axios = require("axios");

var config = {
  method: "get",
  url: "https://api.flutterwave.com//v3/bills?from=2018-08-01&to=2018-09-10",
  headers: {
    Authorization: "Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X",
    "Content-Type": "application/json",
  },
};

axios(config)
  .then(function (response) {
    console.log(JSON.stringify(response.data));
  })
  .catch(function (error) {
    console.log(error);
  });
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.flutterwave.com//v3/bills?from=2018-08-01&to=2018-09-10',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

require "uri"
require "json"
require "net/http"

url = URI("https://api.flutterwave.com//v3/bills?from=2018-08-01&to=2018-09-10")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer FLWSECK_TEST-e1762d00acb1c5f37a64c40ec885e6dd-X"
request["Content-Type"] = "application/json"

response = https.request(request)
puts response.read_body


{
  "status": "success",
  "message": "bills retrieval successful",
  "data": {
    "summary": [
      {
        "currency": "NGN",
        "sum_bills": 28766.76,
        "sum_commission": 138.28,
        "sum_dstv": 0,
        "sum_airtime": 4550,
        "count_dstv": 0,
        "count_airtime": 10
      },
      {
        "currency": "KES",
        "sum_bills": 0,
        "sum_commission": 0,
        "sum_dstv": 0,
        "sum_airtime": 0,
        "count_dstv": 0,
        "count_airtime": 0
      },
      {
        "currency": "GHS",
        "sum_bills": 20,
        "sum_commission": 0.5,
        "sum_dstv": 0,
        "sum_airtime": 20,
        "count_dstv": 0,
        "count_airtime": 2
      },
      {
        "currency": "USD",
        "sum_bills": 3,
        "sum_commission": 0.08,
        "sum_dstv": 0,
        "sum_airtime": 3,
        "count_dstv": 0,
        "count_airtime": 1
      }
    ],
    "total": 3,
    "total_pages": 0,
    "reference": null
  }
}
{}

Biller types for data bundles

This document will show you how to find the biller types for all available data bundles on Flutterwave

Note
If you want to buy data bundles on Flutterwave using the Create a bill payment endpoint, you will need to supply a type key and value in the request payload. In this document, we will show you how to get the value for the type key you pass into the Create a bill payment endpoint to buy data bundles.

BIL108 (MTN Data Bundles) When you call the Get bill categories endpoint and filter the response by biller_code, the data with biller_code = BIL108 will be the MTN Data bundles.

BIL109 (GLO Data Bundles) Just like with the MTN data bundles, filtering the Get bill categories endpoint with biller_code = BIL109 will return all the Glo data bundles.

BIL110 (Airtel Data Bundles) Just like with the Glo data bundles, filtering the Get bill categories endpoint by biller_code = BIL110 will return all the Airtel data bundles

BIL111 (9Mobile Data Bundles) Same applies to Etisalat, filtering the Get bill categories endpoint by biller_code = BIL111 will return all the Airtel data bundles

To buy any of the data bundles above, pass the value of "name" in any of the objects above as a value to the "type" field in the Create a bill payment endpoint.

Sample data after filtering the biller code for each networks.

{
            "id": 365,
            "biller_code": "BIL108",
            "name": "MTN 200 MB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 200 MB DATA BUNDLE",
            "item_code": "MD142",
            "short_name": "MTN 200 MB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 200
        },
        {
            "id": 366,
            "biller_code": "BIL108",
            "name": "MTN 750MB data top-up service",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 750MB data top-up service",
            "item_code": "MD143",
            "short_name": "MTN 750MB data top-up service",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 500
        },
        {
            "id": 367,
            "biller_code": "BIL108",
            "name": "MTN 1.5 GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 1.5 GB DATA BUNDLE",
            "item_code": "MD144",
            "short_name": "MTN 1.5 GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 1000
        },
        {
            "id": 368,
            "biller_code": "BIL108",
            "name": "MTN 4.5 GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 4.5 GB DATA BUNDLE",
            "item_code": "MD145",
            "short_name": "MTN 4.5 GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 2000
        },
        {
            "id": 369,
            "biller_code": "BIL108",
            "name": "MTN 10 GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 10 GB DATA BUNDLE",
            "item_code": "MD255",
            "short_name": "MTN 10 GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 3500
        },
        {
            "id": 370,
            "biller_code": "BIL108",
            "name": "MTN 15 GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 15 GB DATA BUNDLE",
            "item_code": "MD256",
            "short_name": "MTN 15 GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 5000
        },
        {
            "id": 371,
            "biller_code": "BIL108",
            "name": "MTN 40 GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 40 GB DATA BUNDLE",
            "item_code": "MD257",
            "short_name": "MTN 40 GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 10000
        },
        {
            "id": 372,
            "biller_code": "BIL108",
            "name": "MTN 75 GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 75 GB DATA BUNDLE",
            "item_code": "MD258",
            "short_name": "MTN 75 GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 20000
        },
        {
            "id": 373,
            "biller_code": "BIL108",
            "name": "MTN 120 GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "MTN 120 GB DATA BUNDLE",
            "item_code": "MD259",
            "short_name": "MTN 120 GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 50000
        },

{
            "id": 374,
            "biller_code": "BIL109",
            "name": "GLO 35 MB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 35 MB data bundle",
            "item_code": "MD146",
            "short_name": "GLO 35 MB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 100
        },
        {
            "id": 375,
            "biller_code": "BIL109",
            "name": "GLO 100 MB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 100 MB DATA BUNDLE",
            "item_code": "MD147",
            "short_name": "GLO 100 MB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 200
        },
        {
            "id": 376,
            "biller_code": "BIL109",
            "name": "GLO 920 MB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 920 MB DATA BUNDLE",
            "item_code": "MD148",
            "short_name": "GLO 920 MB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 500
        },
        {
            "id": 377,
            "biller_code": "BIL109",
            "name": "GLO 1.8GB data purchase",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 1.8GB data purchase",
            "item_code": "MD149",
            "short_name": "GLO 1.8GB data purchase",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 1000
        },
        {
            "id": 378,
            "biller_code": "BIL109",
            "name": "GLO 4.5GB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 4.5GB data bundle",
            "item_code": "MD150",
            "short_name": "GLO 4.5GB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 2000
        },
        {
            "id": 379,
            "biller_code": "BIL109",
            "name": "GLO 7.2GB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 7.2GB data bundle",
            "item_code": "MD151",
            "short_name": "GLO 7.2GB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 2500
        },
        {
            "id": 380,
            "biller_code": "BIL109",
            "name": "GLO 8.75GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 8.75GB DATA BUNDLE",
            "item_code": "MD366",
            "short_name": "GLO 8.75GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 3000
        },
        {
            "id": 381,
            "biller_code": "BIL109",
            "name": "GLO 12.5GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 12.5GB DATA BUNDLE",
            "item_code": "MD367",
            "short_name": "GLO 12.5GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 4000
        },
        {
            "id": 382,
            "biller_code": "BIL109",
            "name": "GLO 15.6GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 15.6GB DATA BUNDLE",
            "item_code": "MD368",
            "short_name": "GLO 15.6GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 5000
        },
        {
            "id": 383,
            "biller_code": "BIL109",
            "name": "GLO 25GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 25GB DATA BUNDLE",
            "item_code": "MD369",
            "short_name": "GLO 25GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 8000
        },
        {
            "id": 384,
            "biller_code": "BIL109",
            "name": "GLO 32.5GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 32.5GB DATA BUNDLE",
            "item_code": "MD370",
            "short_name": "GLO 32.5GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 10000
        },
        {
            "id": 385,
            "biller_code": "BIL109",
            "name": "GLO 52.5GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 52.5GB DATA BUNDLE",
            "item_code": "MD371",
            "short_name": "GLO 52.5GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 15000
        },
        {
            "id": 386,
            "biller_code": "BIL109",
            "name": "GLO 62.5GB DATA BUNDLE",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "GLO 62.5GB DATA BUNDLE",
            "item_code": "MD372",
            "short_name": "GLO 62.5GB DATA BUNDLE",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 18000
        },

{
            "id": 387,
            "biller_code": "BIL110",
            "name": "AIRTEL 40 MB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 40 MB data bundle",
            "item_code": "MD135",
            "short_name": "AIRTEL 40 MB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 50
        },
        {
            "id": 388,
            "biller_code": "BIL110",
            "name": "AIRTEL 100 MB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 100 MB data bundle",
            "item_code": "MD136",
            "short_name": "AIRTEL 100 MB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 100
        },
        {
            "id": 389,
            "biller_code": "BIL110",
            "name": "AIRTEL 200 MB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 200 MB data bundle",
            "item_code": "MD137",
            "short_name": "AIRTEL 200 MB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 200
        },
        {
            "id": 390,
            "biller_code": "BIL110",
            "name": "AIRTEL 350 MB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 350 MB data bundle",
            "item_code": "MD138",
            "short_name": "AIRTEL 350 MB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 300
        },
        {
            "id": 391,
            "biller_code": "BIL110",
            "name": "AIRTEL 750 MB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 750 MB data bundle",
            "item_code": "MD139",
            "short_name": "AIRTEL 750 MB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 500
        },
        {
            "id": 392,
            "biller_code": "BIL110",
            "name": "AIRTEL 1.5GB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 1.5GB data bundle",
            "item_code": "MD140",
            "short_name": "AIRTEL 1.5GB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 1000
        },
        {
            "id": 393,
            "biller_code": "BIL110",
            "name": "AIRTEL 3GB Data Bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 3GB Data Bundle",
            "item_code": "MD373",
            "short_name": "AIRTEL 3GB Data Bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 1500
        },
        {
            "id": 394,
            "biller_code": "BIL110",
            "name": "AIRTEL 6GB Data Bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 6GB Data Bundle",
            "item_code": "MD374",
            "short_name": "AIRTEL 6GB Data Bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 2500
        },
        {
            "id": 395,
            "biller_code": "BIL110",
            "name": "AIRTEL 8GB Data Bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 8GB Data Bundle",
            "item_code": "MD375",
            "short_name": "AIRTEL 8GB Data Bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 3000
        },
        {
            "id": 396,
            "biller_code": "BIL110",
            "name": "AIRTEL 11GB Data Bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 11GB Data Bundle",
            "item_code": "MD376",
            "short_name": "AIRTEL 11GB Data Bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 4000
        },
        {
            "id": 397,
            "biller_code": "BIL110",
            "name": "AIRTEL 15GB Data Bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 15GB Data Bundle",
            "item_code": "MD377",
            "short_name": "AIRTEL 15GB Data Bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 5000
        },
        {
            "id": 398,
            "biller_code": "BIL110",
            "name": "AIRTEL 40GB Data Bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 40GB Data Bundle",
            "item_code": "MD378",
            "short_name": "AIRTEL 40GB Data Bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 10000
        },
        {
            "id": 399,
            "biller_code": "BIL110",
            "name": "AIRTEL 75GB Data Bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "AIRTEL 75GB Data Bundle",
            "item_code": "MD379",
            "short_name": "AIRTEL 75GB Data Bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 15000
        },

{
            "id": 402,
            "biller_code": "BIL111",
            "name": "9MOBILE 1.5GB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 1.5GB data bundle",
            "item_code": "MD154",
            "short_name": "9MOBILE 1.5GB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 1000
        },
        {
            "id": 403,
            "biller_code": "BIL111",
            "name": "9MOBILE 4.5GB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 4.5GB data bundle",
            "item_code": "MD155",
            "short_name": "9MOBILE 4.5GB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 2000
        },
        {
            "id": 404,
            "biller_code": "BIL111",
            "name": "9MOBILE 4GB data bundle",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 4GB data bundle",
            "item_code": "MD156",
            "short_name": "9MOBILE 4GB data bundle",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 3000
        },
        {
            "id": 405,
            "biller_code": "BIL111",
            "name": "9MOBILE 11.5GB data bundle ",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 11.5GB data bundle ",
            "item_code": "MD361",
            "short_name": "9MOBILE 11.5GB data bundle ",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 4000
        },
        {
            "id": 406,
            "biller_code": "BIL111",
            "name": "9MOBILE 15GB data bundle ",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 15GB data bundle ",
            "item_code": "MD362",
            "short_name": "9MOBILE 15GB data bundle ",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 5000
        },
        {
            "id": 407,
            "biller_code": "BIL111",
            "name": "9MOBILE 27.5GB data bundle ",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 27.5GB data bundle ",
            "item_code": "MD363",
            "short_name": "9MOBILE 27.5GB data bundle ",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 18000
        },
        {
            "id": 408,
            "biller_code": "BIL111",
            "name": "9MOBILE 30GB data bundle ",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 30GB data bundle ",
            "item_code": "MD364",
            "short_name": "9MOBILE 30GB data bundle ",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 27500
        },
        {
            "id": 409,
            "biller_code": "BIL111",
            "name": "9MOBILE 60GB data bundle ",
            "default_commission": 0.03,
            "date_added": "2020-02-11T11:16:42.727Z",
            "country": "NG",
            "is_airtime": false,
            "biller_name": "9MOBILE 60GB data bundle ",
            "item_code": "MD365",
            "short_name": "9MOBILE 60GB data bundle ",
            "fee": 0,
            "commission_on_fee": false,
            "label_name": "Mobile Number",
            "amount": 55000
        },
Loading...