Bill Initiators/Bill Inquiry V3
POST
/api/BillInquiryV3Bill Inquiry V3
Fetch bill details for a consumer number before executing payment. Returns the outstanding amount, due date, billing month, and consumer name. Always call this before BillPaymentV3 to confirm bill details with the consumer.
Showing the request for Kuickpay Billers.Change
Authentication
Pass your credentials as HTTP headers on every request.
X-API-KEYYour API key from the Business PortalIN-IDYour Bill Initiator IDRequest Parameters
| Parameter | Type | Required | Max Length | Description |
|---|---|---|---|---|
BillerID | string | optional | 5 | Biller ID from GetBillers (same as the first 5 digits of consumer_number). Optional for Kuickpay billers. |
consumer_number | numeric | required | 18 | Consumer/account number. First 5 digits identify the biller. Numeric characters only. |
bank_mnemonic | string | optional | 7 | Biller short code from GetBillers (e.g. MCB, HBL). Optional. |
reserved | string | optional | 100 | Optional metadata. Pass empty string if unused. |
network | string | optional | 20 | Payment network identifier. |
channel | string | optional | 20 | Channel identifier (e.g. MOBILE, WEB). |
Response Field Formats
amount_within_due_date and amount_after_due_date use AN14: a 13-digit amount left-padded with zeros (last 2 digits are the minor units) followed by a +/- sign. E.g. Rs. 2,500.00 → 0000000250000+
tran_auth_id is numeric only, max length 6, populated once the bill has been paid.
Response — Success (00)
{
"response_Code": "00",
"response_description": "Success",
"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": "Utility Company"
}Response — Consumer Not Found (01)
When response_Code is "01", return only the two fields below. Do not include bill_status or any bill detail fields.
{
"response_Code": "01",
"response_description": "Consumer number not found."
}Response Codes
| Code | Meaning |
|---|---|
| 00 | Bill found successfully. |
| 01 | Consumer number not found. |
| 02 | Voucher is blocked or inactive. |
| 03 | Unknown error or bad request. |
| 04 | Invalid data — wrong credentials or malformed request. |
| 05 | Server error — API or ERP system failed internally. |
| 401 | Authentication failed — check X-API-KEY / IN-ID / IP. |
Next Step
Execute the payment
Bill Inquiry V3 — Request
curl -X POST https://sandbox-kpcore.kuickpay.com/api/BillInquiryV3 \
-H "X-API-KEY: your_api_key" \
-H "IN-ID: your_initiator_id" \
-H "Content-Type: application/json" \
-d '{
"BillerID": "XXXXX",
"consumer_number": "XXXXX0000000000001",
"bank_mnemonic": "MCB",
"reserved": ""
}'