kuickpayDeveloper Portal
Institution/End-to-End/Bill Inquiry Spec

Bill Inquiry — API Specification

This is the spec for the API you build. Kuickpay will call this endpoint when a consumer wants to inquire about your bill. Your endpoint must accept this request and respond in the format below.

What to build

Expose a POST endpoint on your server. Kuickpay will call it with the consumer number and channel info. You look up the bill in your system and return the details below.

POST https://your-domain.com/your/inquiry/endpoint

Share this URL with Kuickpay during onboarding. They configure it in the system.

Request (Kuickpay sends this)

Request Parameters

ParameterTypeRequiredMax LengthDescription
consumer_numbernumericrequired18Consumer/account number sent by Kuickpay. First 5 digits identify your biller. Numeric characters only.
bank_mnemonicstringoptional7Short code of the payment channel (e.g. MCB, HBL, UBL). Optional.
reservedstringoptional100Optional metadata. Can be empty string.

Request Example

POST https://your-domain.com/inquiry
Content-Type: application/json

{
  "consumer_number": "XXXXX0000000000001",
  "bank_mnemonic": "MCB",
  "reserved": ""
}

Response (you return this)

Response Parameters

ParameterTypeRequiredMax LengthDescription
response_Codestringrequired2Two-digit result code. "00" = success. See Response Codes table below.
response_descriptionstringrequired100Human-readable result message.
consumer_detailstringrequired50Customer name. Please do not use special characters.
bill_statusstringrequired1"U" = Unpaid, "P" = Paid, "B" = Blocked. Omit this field when response_Code is "01".
due_datestringrequired8Bill due date in YYYYMMDD format (e.g. "20250630").
amount_within_due_dateAN14required14Amount payable before due date. AN14: 13-digit amount left-padded with zeros (last 2 digits are minor units) preceded by a +/- sign, e.g. "+0000000250000" = Rs. 2,500.00.
amount_after_due_dateAN14required14Amount payable after due date. Same AN14 format as amount_within_due_date.
billing_monthstringrequired4Billing period in YYMM format (e.g. "2506" for June 2025).
date_paidstringoptional8Date payment was made in YYYYMMDD format, if already paid.
amount_paidstringoptional12Amount paid in paisa, if applicable. 000000250000
tran_auth_idnumericoptional6Transaction auth ID returned after successful payment. Numeric characters only.
contact_numberstringrequired15Consumer contact number.
emailstringrequired100Consumer email address.
reservedstringoptional100Pass through from request.
institution_idstringrequired10Your biller institution ID.
institution_namestringrequired50Your institution name.

Amount Format

amount_within_due_date and amount_after_due_date use AN14: a +/- sign followed by a 13-digit amount left-padded with zeros (last 2 digits are the minor units). Example: Rs. 2,500.00 → +0000000250000

Response Example — Success (00) — FOR UNPAID

{
  "response_Code": "00",
  "response_description": "Bill Found",
  "consumer_detail": "JOHN DOE",
  "bill_status": "U",
  "due_date": "20250630",
  "amount_within_due_date": "+0000000250000",
  "amount_after_due_date": "+0000000265000",
  "billing_month": "2506",
  "date_paid": "",
  "amount_paid": "",
  "tran_auth_id": "",
  "contact_number": "03001234567",
  "email": "john.doe@example.com",
  "reserved": "",
  "institution_id": "XXXXX",
  "institution_name": "Your Company Name"
}

Response Example — Success (00) — FOR PAID

{
  "response_Code": "00",
  "response_description": "Bill Found",
  "consumer_detail": "JOHN DOE",
  "bill_status": "P",
  "due_date": "20250630",
  "amount_within_due_date": "+0000000250000",
  "amount_after_due_date": "+0000000265000",
  "billing_month": "2506",
  "date_paid": "",
  "amount_paid": "",
  "tran_auth_id": "",
  "contact_number": "03001234567",
  "email": "john.doe@example.com",
  "reserved": "",
  "institution_id": "XXXXX",
  "institution_name": "Your Company Name"
}

Response Example — Consumer Not Found (01)

When response_Code is "01", return only the fields below. Do not include bill_status or any bill detail fields.

{
  "response_Code": "01",
  "response_description": "Consumer number not found."
}

Response Codes

Your API must return one of these codes in response_Code.

CodeMeaning
00Bill found successfully.
01Consumer number not found.
02Voucher is blocked or inactive.
03Unknown error or bad request.
04Invalid data — wrong credentials or malformed request.
05Server error — your API or ERP system failed internally.
Next
Bill Payment Spec
Bill Payment Spec →