Step-by-step guide for integrating BBPS utility bill payments using KwikAPI India SDK.
Fetch all available service categories. For bill payments, relevant categories include: Electricity, Water, Gas, Broadband, Landline, Insurance, Loan Repayment, Education Fees, Municipal Taxes, Cable TV, Fastag, Credit Card, and more.
Supported BBPS Service Categories (27)
Fetch all BBPS billers with their operator codes, active status, and supported amount
ranges. Filter by service parameter to get only the billers relevant to your use case.
opid in every bill payment request.
Fetch full details per biller — this is critical for bill payments as it tells you:
required_params — passing wrong or missing opt fields will
cause payment failure.Fetches the outstanding bill amount, due date, and consumer details directly from the biller. Use this to show the customer their exact due amount before payment — improves trust and reduces errors.
bill_fetch_supported in Biller Details before calling
this. Calling it on a non-supported biller returns an error.Submit the bill payment with all confirmed details. This is the payment step — the API processes through the BBPS network and may take variable time.
opt8 must always be set to "Bills" — this is a fixed required
value, not optional.order_id for every transaction. Never reuse one.| Status | Action |
|---|---|
| SUCCESS | Show confirmation to customer, update your records |
| FAILURE | Show failure message, do not retry with same order_id |
| PENDING | Wait 60–120 seconds, check via Transaction Status API |
/api/v2/status.php) with your
order_id to poll. ~99% of transactions complete synchronously with a real-time response.BBPS billers require different sets of
additional parameters passed as opt1 through opt10. Always refer to
required_params from the Biller Details API for each operator.
| opt field | Common usage |
|---|---|
opt1 |
Consumer number / Account number |
opt2 |
Consumer name / Account holder name |
opt3 |
Mobile number / Registered phone |
opt4 |
Email address |
opt5 |
District / Sub-division / Zone |
opt6 |
Bill date / Due date |
opt7 |
Bill number / Reference number |
opt8 |
Always "Bills" — fixed required value |
opt9 |
Service type / Category |
opt10 |
Additional biller-specific field |
required_params[] from Biller Details as the source of truth.