Fetch Biller Plans | BBPS API | Razorpay
Retrieve available plans for prepaid BBPS billers such as DTH and recharge providers using Razorpay’s Bill Payments API.
GET
Available in🇮🇳 India
Use this endpoint to retrieve the catalogue of available prepaid plans (mobile prepaid, DTH packages, broadband plans) for one or more billers. Display recharge options to your customers and enable them to select and purchase plans without leaving your platform. Supports filtering by plan type, amount range and validity period.
Incremental SyncPass
updated_since (Unix timestamp) to fetch only plans updated after a specific time. Use this to keep your local plan catalogue in sync without re-fetching the entire list.Query Parameters
array
Razorpay biller identifier(s) (path param). Use to fetch plans for specific billers. For example,
biller_001.array
BBPS official biller id(s). Use to fetch plans for specific billers by their NPCI id.
array
Razorpay internal plan id(s). Use to fetch updated details of specific plans.
integer
Unix timestamp in seconds. Returns only plans updated after this time. Use for incremental sync.
integer
Offset for pagination. Default is
0.integer
Number of plans per page. Default is
50. Maximum is 100.Response Parameters
string
Entity type identifier. Here,
collection.integer
Number of plans in this response.
array
Array of plan objects.
string
Razorpay internal plan id assigned to the plan. Use for tracking and analytics.
string
Entity type. Always
bill_payment.biller_plan.string
NPCI-provided plan id. Mandatory to send in bill request for plan validation.
string
Payment gateway. Defaults to
bbps.string
Razorpay biller id reference. Use for internal mapping.
string
NPCI biller id. Use to verify the plan matches the selected biller.
string
Plan name given by the biller. Show to the customer on the UI.
string
Plan duration given by the biller. Show to the customer on the UI.
string
Plan details to show to the customer on the UI.
integer
Plan price in paise. Display as
₹{amount/100} on the UI. Payment uses this exact amount and is non-editable by the customer.string
ISO currency code. Always
INR for BBPS.string
Primary plan category. Use for UI grouping. For example,
Premium, Combo, Data, Voice.array
Plan sub-type or variant. Can be part of multiple sub-categories. Use to filter by duration or plan type.
enum
Plan availability status. Values:
active, deactivated. Show only active plans on the UI.integer
Plan validity start date (Unix seconds). Show only if
current_date >= effective_from.integer
Plan validity end date (Unix seconds). Hide if
current_date > effective_to.integer
Plan creation timestamp (Unix seconds). Use to inform merchants when the plan was created in Razorpay’s database.
integer
Last update timestamp (Unix seconds). Use to inform merchants when the plan was last updated in Razorpay’s database.
object
Dynamic key-value pairs from biller. Display additional plan info such as
package_name, Package Duration.Errors
The `biller_id` is missing or invalid.
The `biller_id` is missing or invalid.
Code:
400biller_id is required.Solution: Pass at least one valid biller_id returned by the Fetch Billers API.Biller does not support plan-based payments.
Biller does not support plan-based payments.
Code:
400The biller is not configured for prepaid plans.Solution: Check the biller’s bill_request_config.plan_fetch_required value before calling this API.The `count` exceeds the maximum limit.
The `count` exceeds the maximum limit.
Code:
400Count exceeds maximum limit of 100.Solution: Pass a count value between 1 and 100.Unable to fetch plans from NPCI.
Unable to fetch plans from NPCI.
Code:
502NPCI did not respond within the timeout window.Solution: Retry the request after a short interval.The API `<key/secret>
` provided is invalid.
The API `<key/secret> ` provided is invalid.
Code:
401The API credentials passed in the request differ from the ones generated on the Dashboard.Solution: Ensure your API key and secret are correct and active.