BBPS Bill Payment API Specification
Version 1.0Authentication Header / Body
You must pass your unique api_key PIN in all API requests. Otherwise, it will return a "user not found" response.
GET
POST
/v1/api/bbps/biller-schema
1. Fetch Provider Parameters API
Used to retrieve the required input parameters for a specific biller or provider (e.g., Account Number, Consumer ID).
Sample GET URL Structure:
https://codelekh.in/api/v1/bbps/biller-schema?id=101
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
id | Numeric | Yes | Provider Table ID |
Response Success (200 OK):
{
"type": "success",
"message": "Get sucessfuly",
"biller": {
"billerId": "OTME00005XXZ43",
"billerName": "Electricity Board",
"billerInputParams": "[{\"paramName\":\"Consumer Number\"}]"
}
}
Response Error:
{
"type": "error",
"message": "Provider Code Not Found.Contact Service Provider"
}
GET
POST
/v1/api/bbps/fetch
2. Fetch Customer Bill Details API
Used to fetch outstanding bill amount, due date, and customer name using the customer's consumer number.
Sample GET URL Structure:
https://codelekh.in/api/v1/bbps/fetch?api_key=YOUR_API_KEY&provider_id=101&biller_id=OTME00005XXZ43&filed_0=100200300&filed_1=OPTIONAL_VALUE
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
api_key | String | Yes | Your unique API Key |
provider_id | Numeric | Yes | Provider ID |
biller_id | String | No | BBPS Biller ID (14 characters) |
filed_0 | String | Yes | Biller primary input (e.g., Consumer No) |
filed_1 | String | Yes | Secondary input (e.g., Mobile No) |
Response Success:
{
"type": "success",
"message": "Fatch Successfully",
"order_id": "RC20260330123456",
"data": {
"billerResponse": {
"customerName": "John Doe",
"billAmount": "1500.00",
"dueDate": "2026-04-10",
"billNumber": "BL12345678"
}
}
}
Response Error:
{
"type": "error",
"message": "User not found / Invalid Input Params"
}
GET
POST
/v1/api/bbps/pay
3. Bill Payment API
Used to pay customer bills directly by deducting from the wallet balance. (All optional fields included)
Sample GET URL Structure:
https://codelekh.in/api/v1/bbps/pay?api_key=YOUR_API_KEY&request_order_id=ORD12345&provider_id=101&number=9876543210&amount=1500&pin=1234&bill_fetch_id=RC20260330123456&optional_1=9876543210&optional_2=ABCDE1234F&optional_3=1995-01-01&optional_4=[Aadhaar Redacted]&optional_5=EXTRA_DATA
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
api_key | String | Yes | API Key |
request_order_id | String | Yes | Unique Order ID from your system |
provider_id | Numeric | Yes | Provider ID |
number | String | Yes | Consumer / Mobile / Account Number |
amount | Numeric | Yes | Payment Amount |
pin | Numeric | Yes | 4-digit security PIN (e.g. 1234) |
bill_fetch_id | String | Yes | The order_id received during bill fetch |
optional_1 | String | No | Mobile Number |
optional_2 | String | No | PAN No |
optional_3 | String | No | DOB (YYYY-MM-DD) |
optional_4 | String | No | Aadhaar No |
optional_5 | String | No | Optional Extra Data |
Response Success:
{
"type": "success",
"status": "Success",
"amount": 1500,
"order_id": "RC20260330123456",
"request_order_id": "CLIENT_ORD_9988",
"operator_id": "AB123456",
"biller_name": "Electricity Board",
"remark": "Bill Payment Successful For Rs. 1500",
"date_time": "2026-03-30 14:22:10"
}
Response Failed / Error:
{
"status": "Failed",
"type": "error",
"message": "You Have Insufficient Wallet Balance"
}
GET
POST
/api/bbps-raise-complaint
4. BBPS Complaint Registration API
Used to file a complaint directly with the BBPS system if an issue occurs with a successful transaction.
Sample GET URL Structure:
https://codelekh.in/api/v1/bharat-connect/bbps-raise-complaint?api_key=YOUR_API_KEY&request_order_id=ORD12345&complaint_type=Transaction%20Level&ref_id=AB123456&reason_type=Amount%20Deducted%20Bill%20Not%20Updated&description=Bill%20payment%20pending
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
api_key | String | Yes | API Key |
request_order_id | String | Yes | Unique Order ID |
complaint_type | String | Yes | Must be Transaction Level |
ref_id | String | Yes | Transaction api_operator_id / txnRefId |
reason_type | String | Yes | Complaint category/type |
description | String | Yes | Detailed description of the complaint |
Response Success:
{
"status": "Success",
"type": "success",
"message": "Raise Complaint Successfuly.",
"data": "{\"complaintId\":\"CC0126070233100\",\"responseCode\":\"000\"}"
}
Response Error:
{
"status": "Failed",
"type": "error",
"message": "ref id not found / complaint already registered"
}
GET
POST
/api/bbps-complaint-status-check
5. Complaint Status Check API
Used to monitor updates or check the current status of a previously filed complaint.
Sample GET URL Structure:
https://codelekh.in/api/v1/bharat-connect/bbps-complaint-status-check?api_key=YOUR_API_KEY&request_order_id=ORD12345&request_id=CC0126070233100
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
api_key | String | Yes | API Key |
request_order_id | String | Yes | Unique tracking request ID |
request_id | String | Yes | Received complaintId upon filing complaint (10-35 chars) |
Response Success:
{
"status": "Success",
"type": "success",
"order_id": "CC0126070233100",
"message": "Complaint Status Is RESOLVED By Remark : Amount Refunded To Account"
}
Response Error:
{
"status": "Failed",
"type": "error",
"message": "Invalid Complaint ID or Internal Error"
}