kuickpayDeveloper Portal
Bill Initiators/Bill Payment V3
POST/api/BillPaymentV3

Bill Payment V3

Execute a bill payment after a successful Bill Inquiry. Always call BillInquiryV3 first to confirm bill details with the consumer.

Showing the request for Kuickpay Billers.Change

Authentication

X-API-KEYYour API key from the Business Portal
IN-IDYour Bill Initiator ID

Amount Format

paid_amount must be in paisa. Multiply PKR amount by 100. Rs. 2,500 → 250000

Idempotency

Always check if tran_auth_id has already been processed before marking a bill as paid. If a duplicate transaction is received, return response_Code: "03".

If a bill is already paid and the customer attempts repayment, validate all four of the following. If they all match, return "03":

  • Consumer number
  • Date paid
  • tran_auth_id
  • Amount paid

Note: Do not restrict tran_auth_id to a single consumer number. Two different banks may send the same tran_auth_id simultaneously for different consumers.

Request Parameters

ParameterTypeRequiredMax LengthDescription
BillerIDstringoptional5Biller ID from GetBillers (same as the first 5 digits of consumer_number). Optional for Kuickpay billers.
consumer_numbernumericrequired18Consumer/account number (same as used in Bill Inquiry). Numeric characters only.
bank_mnemonicstringoptional7Biller short code from GetBillers. Optional.
tran_auth_idnumericrequired6Your unique transaction ID. Numeric characters only. Used for idempotency and reconciliation. Not restricted to a single consumer number.
paid_amountstringrequired12Amount paid in paisa (1 PKR = 100 paisa). E.g. Rs.2500 → "250000".
tran_datestringrequired8Transaction date in YYYYMMDD format (e.g. "20250615").
tran_timestringrequired6Transaction time in HHMMSS format (e.g. "143025").
reservedstringoptional100Optional metadata. Pass empty string if unused.

Response

{
  "response_Code": "00",
  "response_description": "Bill Payment Successful",
  "Identification_parameter": "123456",
  "reserved": "",
  "Is_BI_completed": true
}

Response Codes

CodeMeaning
00Success.
01Invalid Voucher Number.
02Voucher is blocked. Payment not allowed.
03Already paid — duplicate tran_auth_id received.
04Invalid data — missing/wrong fields or bad credentials.
05Server error — API or ERP system failed internally.
401Authentication failed — check X-API-KEY / IN-ID / IP.
Bill Payment V3 — Request
curl -X POST https://sandbox-kpcore.kuickpay.com/api/BillPaymentV3 \
  -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",
    "tran_auth_id": "123456",
    "paid_amount": "250000",
    "tran_date": "20250615",
    "tran_time": "143025",
    "reserved": ""
  }'