Bills Payment

This service grants you access to request for the bills payment functionality of Quickteller. Merchants are able to integrate to cable TV subscriptions, utility bills payment and other forms of bills payment functionalities.

Typically, it is used alongside payments API or a wallet service to perform an actual transaction. Where a payment is made and the wallet is a store of value for your profit which comes from earning a commission.

In a scenario, where you need to allow your users pay for their DSTV subscription on your site, you charge the equivalent amount for the selected bouquet on their card or wallet and provide the appropriate user details and amount to the bills payment API.

Interswitch in turn charges a Virtual card (this is automatically set up for you at the point of go-live) attached to your account the equivalent amount, however you make a commission from every API call based on the commission structure and this profit will remain in your wallet however it can be moved between accounts should you choose to.

Process Flow

You can make a bill payment using the following easy steps

Step 1: Make a GET API call to Get Billers and/or Get Billers By Category. These calls will provide a list of available billers with their respective biller ids.
Step 2: Make a subsequent call to Get Biller Payment Items while passing the required path parameter - billerId. This will give a list of items that the biller provides.
Step 3: Make a Customer Validation call to verify the customer ID.
Step 4: Send a Bill Payment Advice to Quickteller.
Step 5: If the transaction is successful, a virtual card tied to your account is debited and value is given to the customer. If the transaction fails, there will be no debit to the virtual card.

THE FLOW BELOW SHOWS HOW YOUR APPLICATION INTERACTS WITH INTERSWITCH

641

📘

TEST DATA

Test Terminal ID: 3DMO0001

Request Reference/Transfer Code Prefix: 1453

Test SVA Card: 6280511000000095, Dec 2026, 0000

Initiating Entity Code: DMO

BILL PAYMENT (Non PIN Based)
DSTV Valid customerId: 0000000001, AMOUNT- 1460000, paymentCode: 10401
DSTV Billerid: 104, category: 2

Bill PAYMENT (PIN Based)
paymentCode: 90501
Valid customerId (meter number): 0434556574
PHCN billerid: 905, Category:1

curl https://sandbox.interswitchng.com/api/v2/quickteller/billers \
-H "Authorization: InterswitchAuth <YOUR_AUTHORIZATION_STRING>" \
-H "Content-Type: application/json" \
-H "Signature: <YOUR_COMPUTED SIGNATURE>" \
-H "Timestamp: <CURRENT_TIMESTAMP>" \
-H "Nonce: <YOUR_COMPUTED_NONCE>" \
-H "SignatureMethod: SHA1" \
-H "TerminalID: <YOUR_TERMINAL_ID>" \
-X GET
curl https://sandbox.interswitchng.com/api/v2/quickteller/billers/{billerId}/paymentitems \
-H "Authorization: InterswitchAuth <YOUR_AUTHORIZATION_STRING>" \
-H "Content-Type: application/json" \
-H "Signature: <YOUR_COMPUTED SIGNATURE>" \
-H "Timestamp: <CURRENT_TIMESTAMP>" \
-H "Nonce: <YOUR_COMPUTED_NONCE>" \
-H "SignatureMethod: SHA1" \
-H "TerminalID: <YOUR_TERMINAL_ID>" \
-X GET
curl https://sandbox.interswitchng.com/api/v2/quickteller/customers/validations \
-H "Authorization: InterswitchAuth <your_authorization_string>" \
-H "Content-Type: application/json" \
-H "Signature: <your_computed_signature>" \
-H "Timestamp: <current_timestamp>" \
-H "Nonce: <your_computed_nonce>" \
-H "SignatureMethod: SHA1" \
-H "TerminalID: <your_terminal_id>" \
-D '{
		“customers”:	[{
			“customerId”: “0434556574”,
			“paymentCode”: “13701”
		}]
}'
-X POST
curl https://sandbox.interswitchng.com/api/v2/quickteller/payments/advices \
-H "Authorization: InterswitchAuth <YOUR_AUTHORIZATION_STRING>" \
-H "Content-Type: application/json" \
-H "Signature: <YOUR_COMPUTED SIGNATURE>" \
-H "Timestamp: <CURRENT_TIMESTAMP>" \
-H "Nonce: <YOUR_COMPUTED_NONCE>" \
-H "SignatureMethod: SHA1" \
-H "TerminalID: <YOUR_TERMINAL_ID>" \
-d '{“TerminalId”:<YOUR_TERMINAL_ID>,“paymentCode”:”10403″,“customerId”:”0000000001″,“customerMobile”:”2348056731576″,“customerEmail”:”[email protected]”,“amount”:”360000″,“requestReference”:”1194000023″}' \
-X POST

Response

{
  code: 200,
  "billers": [{ 
     "categoryid": "3", 
     "categoryname": "State Payments",
     "categorydescription": "Pay state taxes",
     "billerid": "303",
     "billername": "Abia State Infrastructural Development Agency",
     "customerfield1": "Customer No",
     "customerfield2": "",
     "supportemail": "[email protected]",
     "paydirectProductId": "3332",
     "paydirectInstitutionId": "0",
     "narration": "Pay",
     "shortName": "ASIDA",
     "surcharge": "10000",
     "currencyCode": "566",
     "quickTellerSiteUrlName": "asida",
     "amountType": "0",
     "currencySymbol": "NGN",
     "customSectionUrl": "",
     "logoUrl": "q.jpg",
     "type": "", 
     "url": ""
    }]
}
{
  paymentitems: [
    {
      categoryid: "1",
      billerid: "103",
      isAmountFixed: false,
      paymentitemid: "01",
      paymentitemname: "PHCN Bill",
      amount: "0",
      code: "01",
      currencyCode: "566",
      currencySymbol: "NGN",
      itemCurrencySymbol: "",
      sortOrder: "0",
      pictureId: "0",
      paymentCode: "10301",
      itemFee: "0",
      paydirectItemCode: "01"
    }
  ]
}
{
    "Customers": [
        {
            "paymentCode": "10401",
            "customerId": "0000000001",
            "responseCode": "90000",
            "fullName": "Test Test",
            "amount": "1460000",
            "amountType": "1",
            "amountTypeDescription": "Biller requires minumum amount: NGN 14,600.00 or more."
        }
    ]
}
{
  transactionRef: "DMO|Web|3DMO0001|ZainPIN|010721111153|CJDJUXJUUR",
  responseCode: "90000",
  responseMessage: "Success",
  responseCodeGrouping: "SUCCESSFUL"
}