API reference
Bill payments — BBPS
7 endpoints
Browse the biller directory, render the biller's input form from its customer_params schema, fetch the live bill, then pay. Billers whose fetch_requirement is MANDATORY must be fetched before payment.
Signed requests only. Once this service is switched on for your account, every call on this page must be signed with your signing secret (see Request signing). A call with the API token alone is refused with
HTTP 401 and invalid_signature.- GET
/bbps/categoriesBiller categories with counts - GET
/bbps/billersPaginated biller directory - GET
/bbps/billers/{id}One biller WITH its input-form schema - GET
/bbps/quotePrice preview — no money, no vendor call - POST
/bbps/fetchFetch the live bill (no money) - POST
/bbps/payPay the bill - GET
/bbps/{ref}Status of one of your bill payments
Biller categories with counts
GET/api/corp/v1/bbps/categories
curl "https://apipe.in/api/corp/v1/bbps/categories" \
-H "X-Api-Token: <your-token>"Replace each
<…> with your own value.Paginated biller directory
GET/api/corp/v1/bbps/billers
Query parameters
| Name | Description |
|---|---|
categoryoptional | Exact category string from /bbps/categories. |
qoptional | Name search. |
pageoptional | Default 1. |
page_sizeoptional | Default 50, max 100. |
curl "https://apipe.in/api/corp/v1/bbps/billers" \
-H "X-Api-Token: <your-token>"Replace each
<…> with your own value. Only the required fields are shown.One biller WITH its input-form schema
GET/api/corp/v1/bbps/billers/{id}
Notes
customer_params[].name must be echoed back verbatim on fetch and pay.
curl "https://apipe.in/api/corp/v1/bbps/billers/<id>" \
-H "X-Api-Token: <your-token>"Replace each
<…> with your own value.Price preview — no money, no vendor call
GET/api/corp/v1/bbps/quote
Query parameters
| Name | Description |
|---|---|
biller_idrequired | Biller id. |
amountrequired | Bill amount in rupees. |
curl "https://apipe.in/api/corp/v1/bbps/quote?biller_id=<biller_id>&amount=<amount>" \
-H "X-Api-Token: <your-token>"Replace each
<…> with your own value. Only the required fields are shown.{
"ok": true,
"amount": "500.00",
"convenience_fee": "0.00",
"total": "500.00",
"charge": "500.00"
}Fetch the live bill (no money)
POST/api/corp/v1/bbps/fetch
Body parameters
| Name | Description |
|---|---|
biller_idrequired | Biller id. |
paramsrequired | The biller's customer parameters, as a name→value object or a [{name,value}] list. |
customer_mobileoptional | Customer contact number. |
Notes
The returned fetch_ref binds to the bill you fetched and must be sent on pay.
curl "https://apipe.in/api/corp/v1/bbps/fetch" \
-X POST \
-H "X-Api-Token: <your-token>" \
-H "Content-Type: application/json" \
-d '{
"biller_id": "<biller_id>",
"params": {"<param-name>": "<value>"}
}'Replace each
<…> with your own value. Only the required fields are shown.Pay the bill
Moves moneyPOST/api/corp/v1/bbps/pay
Body parameters
| Name | Description |
|---|---|
biller_idrequired | Biller id. |
paramsrequired | Same customer parameters used on fetch. |
amountrequired | Amount in rupees. |
request_idrequired | Your unique reference (idempotency key), max 64 characters. |
fetch_refoptional | Required for billers whose fetch_requirement is MANDATORY. |
curl "https://apipe.in/api/corp/v1/bbps/pay" \
-X POST \
-H "X-Api-Token: <your-token>" \
-H "Content-Type: application/json" \
-d '{
"biller_id": "<biller_id>",
"params": {"<param-name>": "<value>"},
"amount": "<amount>",
"request_id": "<request_id>"
}'Replace each
<…> with your own value. Only the required fields are shown.Status of one of your bill payments
GET/api/corp/v1/bbps/{ref}
curl "https://apipe.in/api/corp/v1/bbps/<ref>" \
-H "X-Api-Token: <your-token>"Replace each
<…> with your own value.