API Test Keys
Fetch Billers
GET/v1/bill_payments/billersClick to copy
Use this endpoint to retrieve a list of billers on the Bharat Bill Payment System (BBPS). Filter by category, geographic coverage or status. Fetch a specific biller by biller_id or gateway_biller_id. The response includes the biller's configuration for payment, fees, additional info and account holder inputs. Use these to render the bill retrieval and payment UI.
Incremental Sync
Pass updated_since (Unix timestamp) to fetch only billers updated after a specific time. This is the recommended way to keep your local biller catalogue in sync without re-fetching the entire list.
Is this page helpful?
Curl
1curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \2-X GET "https://api.razorpay.com/v1/bill_payments/billers?category=electricity&geo_coverage.state=KA&geo_coverage.city=Bengaluru&geo_coverage.country=IN&status=active&count=10&skip=0"
Success
Failure
1{2"entity": "collection",3"count": 1,4"items": [5{6"id": "biller_001",7"entity": "bill_payment.biller",8"gateway": "bbps",9"created_at": 1609459200,10"gateway_updated_at": 1689459200,11"gateway_biller_id": "TPOW00000MUM01",12"name": "Electricity Bill Payment",13"alias_name": "Electricity BP",14"category": "electricity",15"status": "active",16"supported_channels": ["online"],17"logo_url": "https://example.com/logos/electricity.png",18"effective_from": 1689459200,19"effective_to": 1735689600,20"geo_coverage": {21"country": "IND",22"state": "MH",23"city": "Mumbai"24},25"gateway_data": {26"biller_ownership_type": "Private",27"payment_config": {28"amount_exactness": "Exact",29"bill_request_required": "mandatory",30"support_pending_status": "true",31"biller_timeout_period": 21600,32"methods": [33{34"method": "cash",35"min_limit": 100,36"max_limit": null,37"support_pending_status": false38},39{40"method": "upi",41"min_limit": 1,42"max_limit": null,43"support_pending_status": true44},45{46"method": "card",47"type": "credit",48"min_limit": 1,49"max_limit": null,50"support_pending_status": true51}52],53"channels": [54{55"channel": "AGT",56"max_limit": 100000,57"min_limit": 100,58"support_pending_status": false59},60{61"channel": "BNKBRNCH",62"max_limit": 500000,63"min_limit": 1000,64"support_pending_status": true65}66],67"amount_type": [68{69"name": "base_bill_amount",70"optional": false,71"data_type": "string",72"min_length": 2,73"max_length": 12,74"regex": "<regex_pattern>",75"values": "string",76"visibility": true77},78{79"name": "fixed_charges",80"optional": true,81"data_type": "string",82"min_length": 2,83"max_length": 12,84"regex": "<regex_pattern>",85"values": "string",86"visibility": true87}88],89"amount_groups": [90{91"components": ["base_bill_amount", "fixed_charges"]92},93{94"components": ["base_bill_amount"]95}96]97},98"bill_request_config": {99"upms_supported": null,100"bill_response_type": "single/multiple",101"bill_request_required": "mandatory/optional/not_supported",102"plan_fetch_required": "mandatory/optional/not_supported"103},104"additional_info_config": {105"params": [106{107"name": "Customer Mobile Number",108"data_type": "numeric",109"optional": true,110"min_length": 10,111"max_length": 10,112"regex": "^[6-9]{1}[0-9]{9}$",113"values": ["Vehicle Finance", "Home Finance"],114"visibility": true115},116{117"name": "accountNumber",118"data_type": "string",119"optional": false,120"min_length": 9,121"max_length": 12,122"values": ["Vehicle Finance", "Home Finance"],123"visibility": true124}125]126},127"fee_config": {128"fee_types": [129{130"fee_code": "CCF1",131"fee_description": "Customer Convenience Fee",132"fee_payer": "customer",133"fee_details": {134"min_amount": 100,135"max_amount": 10000,136"percentage": 0.5,137"flat_amount": 2,138"effective_from": 1689459200,139"effective_to": 1735689600140}141}142],143"fee_rules": [144{145"transaction_type": "payment",146"response_code": "00",147"method": "card",148"type": "credit",149"channel": "AGT",150"fee_code": ["PFB", "CCF1"],151"default_fee": false,152"effective_from": 1689459200,153"effective_to": 1735689600154},155{156"transaction_type": "payment",157"response_code": "00",158"method": "upi",159"channel": "AGT",160"fee_code": ["CCF1", "CCF2"],161"default_fee": true,162"effective_from": 1689459200,163"effective_to": 1735689600164}165]166},167"account_holder_config": {168"params": [169{170"name": "Customer Mobile Number",171"data_type": "numeric",172"optional": true,173"min_length": 10,174"max_length": 10,175"regex": "^[6-9]{1}[0-9]{9}$",176"values": ["Vehicle Finance", "Home Finance"]177}178],179"input_groups": {180"step": 1,181"group_name": "Group1",182"input_params_required": ["accountNumber"],183"required_input_count": 1,184"depends_on_step": null185}186}187}188}189]190}
Query Parameters
id string Razorpay's internal biller entity id. Use to retrieve a specific biller by Razorpay id. For example, biller_001.
category string Filter billers by pre-defined BBPS biller category. Case-insensitive. For example, electricity, loan_repayment, mobile_postpaid.
gateway_biller_id string BBPS-specific biller id assigned by NPCI. Use to retrieve a specific biller by NPCI id. For example, TPOW00000MUM01.
biller_id string Fetch a specific biller by Razorpay biller id. For example, biller_001.
geo_coverage.country string Filter billers by country. Defaults to IN.
geo_coverage.state string Filter billers by state code. For example, MH, DL.
geo_coverage.city string Filter billers by city. For example, Bengaluru, Mumbai.
updated_since integerUnix timestamp in seconds. Returns only billers updated after this time. Use for incremental sync of your local biller catalogue.
status string Filter billers by operational status. Values: active, deactivated.
count integer Number of billers per page. Default is 10. Maximum is 100.
skip integer Number of biller records to skip for pagination. Default is 0.
Response Parameters
entitystring Entity type identifier. Here, collection.
countintegerNumber of biller records returned.
itemsarrayArray of biller objects.
items[].idstring Razorpay biller entity id. Format: biller_xxx. Use this when creating a bill request or payment.
items[].entitystring Entity type. Always bill_payment.biller.
items[].gatewaystring Payment gateway. Defaults to bbps.
items[].created_atintegerBiller creation timestamp in Razorpay records (Unix seconds).
items[].gateway_updated_atintegerLast update timestamp from the gateway (Unix seconds). Use for data freshness checks.
items[].gateway_biller_idstringNPCI/BBPS provided biller id (max 20 characters). Use for NPCI reconciliation and audit trail.
items[].namestringBiller display name. Show this on the biller selection UI.
items[].alias_namestring Biller alias or nickname shared in biller MDM. Optionally show alongside name for search and selection.
items[].categorystringBiller category. Use for grouping and filtering on the UI.
items[].statusstring Biller operational status. Values: active, inactive. Show inactive billers with a deactivated tag on the UI.
items[].supported_channelsarray Biller support type. Values: online, offline. Use to make channel routing decisions.
items[].logo_urlstringBiller logo image URL. Not in NPCI standard - sourced by Razorpay for UI display.
items[].effective_fromintegerStart date timestamp when biller becomes active on NPCI (Unix seconds).
items[].effective_tointeger End date timestamp when biller is deprecated on NPCI (Unix seconds). null if currently active.
items[].geo_coverageobjectGeographic coverage area for the biller.
items[].geo_coverage.countrystring Country code. For example, IND.
items[].geo_coverage.statestring State code. For example, MH.
items[].geo_coverage.citystring City name. For example, Mumbai.
items[].gateway_dataobjectGateway-specific biller configuration.
items[].gateway_data.biller_ownership_typestring Biller ownership. Values: Government, PSU, Private. Use to know whether the biller is private or government for audit trail.
items[].gateway_data.payment_configobjectPayment configuration supported by the biller.
items[].gateway_data.payment_config.amount_exactnessstringPayment amount flexibility. Values:
Exact- user must pay the exact amount fetched.Exact and above- user can pay exact amount or more.Exact and below- user can pay exact amount or less.Any- user can pay any amount.
items[].gateway_data.payment_config.bill_request_requiredstring Whether biller supports direct payment without bill request. Values: mandatory, optional, not_supported. Use to enable or disable the quick pay flow on the UI.
items[].gateway_data.payment_config.support_pending_statusstring Whether the biller supports a pending payment state. Values: true, false. Use for async payment confirmation handling.
items[].gateway_data.payment_config.biller_timeout_periodinteger Timeout period in seconds supported by the biller when support_pending_status is true.
items[].gateway_data.payment_config.methodsarrayPayment methods accepted by the biller as per Razorpay nomenclature. Use to filter payment options for the customer.
items[].gateway_data.payment_config.methods[].methodstring Payment method code. Values: netbanking, upi, card, wallet.
items[].gateway_data.payment_config.methods[].typestring For card method, sub-type such as credit, debit, prepaid.
items[].gateway_data.payment_config.methods[].min_limitintegerMinimum transaction amount in paise for this method.
items[].gateway_data.payment_config.methods[].max_limitinteger Maximum transaction amount in paise for this method. null for cash payments.
items[].gateway_data.payment_config.methods[].support_pending_statusbooleanWhether this method supports pending status.
items[].gateway_data.payment_config.channelsarrayInitiating channels supported by the biller.
items[].gateway_data.payment_config.channels[].channelstring Initiating channel code as per NPCI terminology. Values: INT, MOB, MOBB, INTB, KIOSK, ATM, BNKBRNCH, AGT, BSC.
items[].gateway_data.payment_config.channels[].min_limitintegerMinimum transaction amount in paise for this channel.
items[].gateway_data.payment_config.channels[].max_limitintegerMaximum transaction amount in paise for this channel.
items[].gateway_data.payment_config.channels[].support_pending_statusbooleanWhether this channel supports pending status.
items[].gateway_data.payment_config.amount_typearrayAmount breakup types supported in bill request response. Use to parse the bill retrieval response structure.
items[].gateway_data.payment_config.amount_groupsarray Allowed combinations of amount components. Each item contains a components array listing valid breakup combinations.
items[].gateway_data.bill_request_configobjectBill request configuration supported by the biller.
items[].gateway_data.bill_request_config.bill_response_typestring Type of bill response. Values: single, multiple.
items[].gateway_data.bill_request_config.bill_request_requiredstring Whether bill retrieval is required before payment. Values: mandatory, optional, not_supported.
items[].gateway_data.bill_request_config.plan_fetch_requiredstring Whether plan fetch is required. Values: mandatory, optional, not_supported.
items[].gateway_data.additional_info_configobjectAdditional information configuration supported by the biller.
items[].gateway_data.additional_info_config.paramsarrayAdditional information parameters required from the customer.
items[].gateway_data.additional_info_config.params[].namestring Parameter display name. For example, Customer Mobile Number.
items[].gateway_data.additional_info_config.params[].data_typestring Parameter data type. Values: numeric, alphanumeric, alpha, date.
items[].gateway_data.additional_info_config.params[].optionalbooleanWhether the parameter is optional.
items[].gateway_data.additional_info_config.params[].min_lengthintegerMinimum character length.
items[].gateway_data.additional_info_config.params[].max_lengthintegerMaximum character length.
items[].gateway_data.additional_info_config.params[].regexstringValidation regex pattern.
items[].gateway_data.additional_info_config.params[].valuesarrayAllowed enum values for the parameter.
items[].gateway_data.additional_info_config.params[].visibilitybooleanWhether the parameter should be shown to the customer.
items[].gateway_data.fee_configobjectFee configuration supported by the biller.
items[].gateway_data.fee_config.fee_typesarrayFee types applicable.
items[].gateway_data.fee_config.fee_types[].fee_codestringFee identifier. Values:
PFB- Physical Biller FeeEBF- Electronic Biller FeeCCF1/CCF2- Customer Convenience FeeAGSC- Agent Service Charge
items[].gateway_data.fee_config.fee_types[].fee_descriptionstring Customer-facing fee label. For example, Customer Convenience Fee.
items[].gateway_data.fee_config.fee_types[].fee_payerstring Who pays the fee. Values: B2C (biller), C2B (customer).
items[].gateway_data.fee_config.fee_types[].fee_detailsobjectFee calculation parameters.
items[].gateway_data.fee_config.fee_types[].fee_details.min_amountintegerMinimum transaction amount for this fee tier in paise.
items[].gateway_data.fee_config.fee_types[].fee_details.max_amountintegerMaximum transaction amount for this fee tier in paise.
items[].gateway_data.fee_config.fee_types[].fee_details.percentagedecimal Percentage fee component. For example, 0.5 represents 0.5%.
items[].gateway_data.fee_config.fee_types[].fee_details.flat_amountintegerFixed fee component in paise.
items[].gateway_data.fee_config.fee_types[].fee_details.effective_fromintegerFee validity start timestamp (Unix seconds).
items[].gateway_data.fee_config.fee_types[].fee_details.effective_tointeger Fee validity end timestamp (Unix seconds). null if ongoing.
items[].gateway_data.fee_config.fee_rulesarrayRules determining which fee applies for a given transaction.
items[].gateway_data.fee_config.fee_rules[].transaction_typestring Transaction type. Values: payment, fetch, validate. Defaults to payment.
items[].gateway_data.fee_config.fee_rules[].response_codestring NPCI response code when fee applies. 00 represents success.
items[].gateway_data.fee_config.fee_rules[].methodstring Payment method for this rule. For example, Internet banking, upi, card.
items[].gateway_data.fee_config.fee_rules[].typestring Sub-type of the payment method. Applies only when method is card. Values: credit, debit, prepaid. Use this to apply different fee rules for credit vs debit card payments.
items[].gateway_data.fee_config.fee_rules[].channelstring Initiating channel for this rule. For example, AGT, INT, MOB.
items[].gateway_data.fee_config.fee_rules[].fee_codearrayArray of fee codes applicable. Apply multiple fees if listed.
items[].gateway_data.fee_config.fee_rules[].default_feebooleanWhether this is the default fee configuration. Used when no specific match is found.
items[].gateway_data.fee_config.fee_rules[].effective_fromintegerRule validity start timestamp (Unix seconds).
items[].gateway_data.fee_config.fee_rules[].effective_tointegerRule validity end timestamp (Unix seconds).
items[].gateway_data.account_holder_configobjectAccount holder configuration supported by the biller.
items[].gateway_data.account_holder_config.paramsarrayCustomer input parameters required for bill retrieval. Use to build the bill retrieval input form.
items[].gateway_data.account_holder_config.params[].namestring Parameter display name. For example, Customer Mobile Number.
items[].gateway_data.account_holder_config.params[].data_typestring Input data type. Values: numeric, alphanumeric, alpha, date.
items[].gateway_data.account_holder_config.params[].optionalbooleanWhether the parameter is optional.
items[].gateway_data.account_holder_config.params[].min_lengthintegerMinimum character length.
items[].gateway_data.account_holder_config.params[].max_lengthintegerMaximum character length.
items[].gateway_data.account_holder_config.params[].regexstringValidation regex pattern.
items[].gateway_data.account_holder_config.params[].valuesarrayAllowed enum values for the parameter.
items[].gateway_data.account_holder_config.input_groupsobjectCombination and sequence of input parameters required for bill retrieval.
items[].gateway_data.account_holder_config.input_groups.stepintegerSequence number of the input required from the customer.
items[].gateway_data.account_holder_config.input_groups.group_namestringNPCI group level identifier. Use to render multi-step forms with progressive disclosure.
items[].gateway_data.account_holder_config.input_groups.input_params_requiredarrayList of field names the customer must provide in this step.
items[].gateway_data.account_holder_config.input_groups.required_input_countintegerMinimum count of inputs required mandatorily from this step. Convert to string to render UI accordingly.
items[].gateway_data.account_holder_config.input_groups.depends_on_stepinteger Which prior step must be completed. null if there is no dependency on a previous step.
Errors
The category value is not a valid BBPS category.
Error Status: 400
The category provided does not match any BBPS category.
Solution
The biller_id is invalid.
Error Status: 400
The biller id provided does not correspond to a valid biller.
Solution
The count exceeds the maximum limit.
Error Status: 400
Count exceeds maximum limit of 100.
Solution
The geo_coverage.state is invalid.
Error Status: 400
Invalid state. Possible values - state, city, country.
Solution
Unable to fetch biller information from NPCI MDM.
Error Status: 502
NPCI did not respond within the timeout window.
Solution
The API <key/secret> provided is invalid.
Error Status: 401
The API credentials passed in the request differ from the ones generated on the Dashboard.
Solution
Fetch Billers
GET/v1/bill_payments/billersClick to copy
Use this endpoint to retrieve a list of billers on the Bharat Bill Payment System (BBPS). Filter by category, geographic coverage or status. Fetch a specific biller by biller_id or gateway_biller_id. The response includes the biller's configuration for payment, fees, additional info and account holder inputs. Use these to render the bill retrieval and payment UI.
Incremental Sync
Pass updated_since (Unix timestamp) to fetch only billers updated after a specific time. This is the recommended way to keep your local biller catalogue in sync without re-fetching the entire list.
Is this page helpful?
Query Parameters
id string Razorpay's internal biller entity id. Use to retrieve a specific biller by Razorpay id. For example, biller_001.
category string Filter billers by pre-defined BBPS biller category. Case-insensitive. For example, electricity, loan_repayment, mobile_postpaid.
gateway_biller_id string BBPS-specific biller id assigned by NPCI. Use to retrieve a specific biller by NPCI id. For example, TPOW00000MUM01.
biller_id string Fetch a specific biller by Razorpay biller id. For example, biller_001.
geo_coverage.country string Filter billers by country. Defaults to IN.
geo_coverage.state string Filter billers by state code. For example, MH, DL.
geo_coverage.city string Filter billers by city. For example, Bengaluru, Mumbai.
updated_since integerUnix timestamp in seconds. Returns only billers updated after this time. Use for incremental sync of your local biller catalogue.
status string Filter billers by operational status. Values: active, deactivated.
count integer Number of billers per page. Default is 10. Maximum is 100.
skip integer Number of biller records to skip for pagination. Default is 0.
Response Parameters
entitystring Entity type identifier. Here, collection.
countintegerNumber of biller records returned.
itemsarrayArray of biller objects.
items[].idstring Razorpay biller entity id. Format: biller_xxx. Use this when creating a bill request or payment.
items[].entitystring Entity type. Always bill_payment.biller.
items[].gatewaystring Payment gateway. Defaults to bbps.
items[].created_atintegerBiller creation timestamp in Razorpay records (Unix seconds).
items[].gateway_updated_atintegerLast update timestamp from the gateway (Unix seconds). Use for data freshness checks.
items[].gateway_biller_idstringNPCI/BBPS provided biller id (max 20 characters). Use for NPCI reconciliation and audit trail.
items[].namestringBiller display name. Show this on the biller selection UI.
items[].alias_namestring Biller alias or nickname shared in biller MDM. Optionally show alongside name for search and selection.
items[].categorystringBiller category. Use for grouping and filtering on the UI.
items[].statusstring Biller operational status. Values: active, inactive. Show inactive billers with a deactivated tag on the UI.
items[].supported_channelsarray Biller support type. Values: online, offline. Use to make channel routing decisions.
items[].logo_urlstringBiller logo image URL. Not in NPCI standard - sourced by Razorpay for UI display.
items[].effective_fromintegerStart date timestamp when biller becomes active on NPCI (Unix seconds).
items[].effective_tointeger End date timestamp when biller is deprecated on NPCI (Unix seconds). null if currently active.
items[].geo_coverageobjectGeographic coverage area for the biller.
items[].geo_coverage.countrystring Country code. For example, IND.
items[].geo_coverage.statestring State code. For example, MH.
items[].geo_coverage.citystring City name. For example, Mumbai.
items[].gateway_dataobjectGateway-specific biller configuration.
items[].gateway_data.biller_ownership_typestring Biller ownership. Values: Government, PSU, Private. Use to know whether the biller is private or government for audit trail.
items[].gateway_data.payment_configobjectPayment configuration supported by the biller.
items[].gateway_data.payment_config.amount_exactnessstringPayment amount flexibility. Values:
Exact- user must pay the exact amount fetched.Exact and above- user can pay exact amount or more.Exact and below- user can pay exact amount or less.Any- user can pay any amount.
items[].gateway_data.payment_config.bill_request_requiredstring Whether biller supports direct payment without bill request. Values: mandatory, optional, not_supported. Use to enable or disable the quick pay flow on the UI.
items[].gateway_data.payment_config.support_pending_statusstring Whether the biller supports a pending payment state. Values: true, false. Use for async payment confirmation handling.
items[].gateway_data.payment_config.biller_timeout_periodinteger Timeout period in seconds supported by the biller when support_pending_status is true.
items[].gateway_data.payment_config.methodsarrayPayment methods accepted by the biller as per Razorpay nomenclature. Use to filter payment options for the customer.
items[].gateway_data.payment_config.methods[].methodstring Payment method code. Values: netbanking, upi, card, wallet.
items[].gateway_data.payment_config.methods[].typestring For card method, sub-type such as credit, debit, prepaid.
items[].gateway_data.payment_config.methods[].min_limitintegerMinimum transaction amount in paise for this method.
items[].gateway_data.payment_config.methods[].max_limitinteger Maximum transaction amount in paise for this method. null for cash payments.
items[].gateway_data.payment_config.methods[].support_pending_statusbooleanWhether this method supports pending status.
items[].gateway_data.payment_config.channelsarrayInitiating channels supported by the biller.
items[].gateway_data.payment_config.channels[].channelstring Initiating channel code as per NPCI terminology. Values: INT, MOB, MOBB, INTB, KIOSK, ATM, BNKBRNCH, AGT, BSC.
items[].gateway_data.payment_config.channels[].min_limitintegerMinimum transaction amount in paise for this channel.
items[].gateway_data.payment_config.channels[].max_limitintegerMaximum transaction amount in paise for this channel.
items[].gateway_data.payment_config.channels[].support_pending_statusbooleanWhether this channel supports pending status.
items[].gateway_data.payment_config.amount_typearrayAmount breakup types supported in bill request response. Use to parse the bill retrieval response structure.
items[].gateway_data.payment_config.amount_groupsarray Allowed combinations of amount components. Each item contains a components array listing valid breakup combinations.
items[].gateway_data.bill_request_configobjectBill request configuration supported by the biller.
items[].gateway_data.bill_request_config.bill_response_typestring Type of bill response. Values: single, multiple.
items[].gateway_data.bill_request_config.bill_request_requiredstring Whether bill retrieval is required before payment. Values: mandatory, optional, not_supported.
items[].gateway_data.bill_request_config.plan_fetch_requiredstring Whether plan fetch is required. Values: mandatory, optional, not_supported.
items[].gateway_data.additional_info_configobjectAdditional information configuration supported by the biller.
items[].gateway_data.additional_info_config.paramsarrayAdditional information parameters required from the customer.
items[].gateway_data.additional_info_config.params[].namestring Parameter display name. For example, Customer Mobile Number.
items[].gateway_data.additional_info_config.params[].data_typestring Parameter data type. Values: numeric, alphanumeric, alpha, date.
items[].gateway_data.additional_info_config.params[].optionalbooleanWhether the parameter is optional.
items[].gateway_data.additional_info_config.params[].min_lengthintegerMinimum character length.
items[].gateway_data.additional_info_config.params[].max_lengthintegerMaximum character length.
items[].gateway_data.additional_info_config.params[].regexstringValidation regex pattern.
items[].gateway_data.additional_info_config.params[].valuesarrayAllowed enum values for the parameter.
items[].gateway_data.additional_info_config.params[].visibilitybooleanWhether the parameter should be shown to the customer.
items[].gateway_data.fee_configobjectFee configuration supported by the biller.
items[].gateway_data.fee_config.fee_typesarrayFee types applicable.
items[].gateway_data.fee_config.fee_types[].fee_codestringFee identifier. Values:
PFB- Physical Biller FeeEBF- Electronic Biller FeeCCF1/CCF2- Customer Convenience FeeAGSC- Agent Service Charge
items[].gateway_data.fee_config.fee_types[].fee_descriptionstring Customer-facing fee label. For example, Customer Convenience Fee.
items[].gateway_data.fee_config.fee_types[].fee_payerstring Who pays the fee. Values: B2C (biller), C2B (customer).
items[].gateway_data.fee_config.fee_types[].fee_detailsobjectFee calculation parameters.
items[].gateway_data.fee_config.fee_types[].fee_details.min_amountintegerMinimum transaction amount for this fee tier in paise.
items[].gateway_data.fee_config.fee_types[].fee_details.max_amountintegerMaximum transaction amount for this fee tier in paise.
items[].gateway_data.fee_config.fee_types[].fee_details.percentagedecimal Percentage fee component. For example, 0.5 represents 0.5%.
items[].gateway_data.fee_config.fee_types[].fee_details.flat_amountintegerFixed fee component in paise.
items[].gateway_data.fee_config.fee_types[].fee_details.effective_fromintegerFee validity start timestamp (Unix seconds).
items[].gateway_data.fee_config.fee_types[].fee_details.effective_tointeger Fee validity end timestamp (Unix seconds). null if ongoing.
items[].gateway_data.fee_config.fee_rulesarrayRules determining which fee applies for a given transaction.
items[].gateway_data.fee_config.fee_rules[].transaction_typestring Transaction type. Values: payment, fetch, validate. Defaults to payment.
items[].gateway_data.fee_config.fee_rules[].response_codestring NPCI response code when fee applies. 00 represents success.
items[].gateway_data.fee_config.fee_rules[].methodstring Payment method for this rule. For example, Internet banking, upi, card.
items[].gateway_data.fee_config.fee_rules[].typestring Sub-type of the payment method. Applies only when method is card. Values: credit, debit, prepaid. Use this to apply different fee rules for credit vs debit card payments.
items[].gateway_data.fee_config.fee_rules[].channelstring Initiating channel for this rule. For example, AGT, INT, MOB.
items[].gateway_data.fee_config.fee_rules[].fee_codearrayArray of fee codes applicable. Apply multiple fees if listed.
items[].gateway_data.fee_config.fee_rules[].default_feebooleanWhether this is the default fee configuration. Used when no specific match is found.
items[].gateway_data.fee_config.fee_rules[].effective_fromintegerRule validity start timestamp (Unix seconds).
items[].gateway_data.fee_config.fee_rules[].effective_tointegerRule validity end timestamp (Unix seconds).
items[].gateway_data.account_holder_configobjectAccount holder configuration supported by the biller.
items[].gateway_data.account_holder_config.paramsarrayCustomer input parameters required for bill retrieval. Use to build the bill retrieval input form.
items[].gateway_data.account_holder_config.params[].namestring Parameter display name. For example, Customer Mobile Number.
items[].gateway_data.account_holder_config.params[].data_typestring Input data type. Values: numeric, alphanumeric, alpha, date.
items[].gateway_data.account_holder_config.params[].optionalbooleanWhether the parameter is optional.
items[].gateway_data.account_holder_config.params[].min_lengthintegerMinimum character length.
items[].gateway_data.account_holder_config.params[].max_lengthintegerMaximum character length.
items[].gateway_data.account_holder_config.params[].regexstringValidation regex pattern.
items[].gateway_data.account_holder_config.params[].valuesarrayAllowed enum values for the parameter.
items[].gateway_data.account_holder_config.input_groupsobjectCombination and sequence of input parameters required for bill retrieval.
items[].gateway_data.account_holder_config.input_groups.stepintegerSequence number of the input required from the customer.
items[].gateway_data.account_holder_config.input_groups.group_namestringNPCI group level identifier. Use to render multi-step forms with progressive disclosure.
items[].gateway_data.account_holder_config.input_groups.input_params_requiredarrayList of field names the customer must provide in this step.
items[].gateway_data.account_holder_config.input_groups.required_input_countintegerMinimum count of inputs required mandatorily from this step. Convert to string to render UI accordingly.
items[].gateway_data.account_holder_config.input_groups.depends_on_stepinteger Which prior step must be completed. null if there is no dependency on a previous step.
Errors
The category value is not a valid BBPS category.
Error Status: 400
The category provided does not match any BBPS category.
Solution
The biller_id is invalid.
Error Status: 400
The biller id provided does not correspond to a valid biller.
Solution
The count exceeds the maximum limit.
Error Status: 400
Count exceeds maximum limit of 100.
Solution
The geo_coverage.state is invalid.
Error Status: 400
Invalid state. Possible values - state, city, country.
Solution
Unable to fetch biller information from NPCI MDM.
Error Status: 502
NPCI did not respond within the timeout window.
Solution
The API <key/secret> provided is invalid.
Error Status: 401
The API credentials passed in the request differ from the ones generated on the Dashboard.
Solution
Curl
1curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \2-X GET "https://api.razorpay.com/v1/bill_payments/billers?category=electricity&geo_coverage.state=KA&geo_coverage.city=Bengaluru&geo_coverage.country=IN&status=active&count=10&skip=0"
Success
Failure
1{2"entity": "collection",3"count": 1,4"items": [5{6"id": "biller_001",7"entity": "bill_payment.biller",8"gateway": "bbps",9"created_at": 1609459200,10"gateway_updated_at": 1689459200,11"gateway_biller_id": "TPOW00000MUM01",12"name": "Electricity Bill Payment",13"alias_name": "Electricity BP",14"category": "electricity",15"status": "active",16"supported_channels": ["online"],17"logo_url": "https://example.com/logos/electricity.png",18"effective_from": 1689459200,19"effective_to": 1735689600,20"geo_coverage": {21"country": "IND",22"state": "MH",23"city": "Mumbai"24},25"gateway_data": {26"biller_ownership_type": "Private",27"payment_config": {28"amount_exactness": "Exact",29"bill_request_required": "mandatory",30"support_pending_status": "true",31"biller_timeout_period": 21600,32"methods": [33{34"method": "cash",35"min_limit": 100,36"max_limit": null,37"support_pending_status": false38},39{40"method": "upi",41"min_limit": 1,42"max_limit": null,43"support_pending_status": true44},45{46"method": "card",47"type": "credit",48"min_limit": 1,49"max_limit": null,50"support_pending_status": true51}52],53"channels": [54{55"channel": "AGT",56"max_limit": 100000,57"min_limit": 100,58"support_pending_status": false59},60{61"channel": "BNKBRNCH",62"max_limit": 500000,63"min_limit": 1000,64"support_pending_status": true65}66],67"amount_type": [68{69"name": "base_bill_amount",70"optional": false,71"data_type": "string",72"min_length": 2,73"max_length": 12,74"regex": "<regex_pattern>",75"values": "string",76"visibility": true77},78{79"name": "fixed_charges",80"optional": true,81"data_type": "string",82"min_length": 2,83"max_length": 12,84"regex": "<regex_pattern>",85"values": "string",86"visibility": true87}88],89"amount_groups": [90{91"components": ["base_bill_amount", "fixed_charges"]92},93{94"components": ["base_bill_amount"]95}96]97},98"bill_request_config": {99"upms_supported": null,100"bill_response_type": "single/multiple",101"bill_request_required": "mandatory/optional/not_supported",102"plan_fetch_required": "mandatory/optional/not_supported"103},104"additional_info_config": {105"params": [106{107"name": "Customer Mobile Number",108"data_type": "numeric",109"optional": true,110"min_length": 10,111"max_length": 10,112"regex": "^[6-9]{1}[0-9]{9}$",113"values": ["Vehicle Finance", "Home Finance"],114"visibility": true115},116{117"name": "accountNumber",118"data_type": "string",119"optional": false,120"min_length": 9,121"max_length": 12,122"values": ["Vehicle Finance", "Home Finance"],123"visibility": true124}125]126},127"fee_config": {128"fee_types": [129{130"fee_code": "CCF1",131"fee_description": "Customer Convenience Fee",132"fee_payer": "customer",133"fee_details": {134"min_amount": 100,135"max_amount": 10000,136"percentage": 0.5,137"flat_amount": 2,138"effective_from": 1689459200,139"effective_to": 1735689600140}141}142],143"fee_rules": [144{145"transaction_type": "payment",146"response_code": "00",147"method": "card",148"type": "credit",149"channel": "AGT",150"fee_code": ["PFB", "CCF1"],151"default_fee": false,152"effective_from": 1689459200,153"effective_to": 1735689600154},155{156"transaction_type": "payment",157"response_code": "00",158"method": "upi",159"channel": "AGT",160"fee_code": ["CCF1", "CCF2"],161"default_fee": true,162"effective_from": 1689459200,163"effective_to": 1735689600164}165]166},167"account_holder_config": {168"params": [169{170"name": "Customer Mobile Number",171"data_type": "numeric",172"optional": true,173"min_length": 10,174"max_length": 10,175"regex": "^[6-9]{1}[0-9]{9}$",176"values": ["Vehicle Finance", "Home Finance"]177}178],179"input_groups": {180"step": 1,181"group_name": "Group1",182"input_params_required": ["accountNumber"],183"required_input_count": 1,184"depends_on_step": null185}186}187}188}189]190}