Skip to main content
GET
Available in🇮🇳 India
Use this endpoint to retrieve the status and details of a bill request created via the Create a Bill Request API. Since bill requests are processed asynchronously, poll this endpoint until the status reaches a terminal state of success or failed. On success, the response contains the bill details, account holder information and any biller-specific metadata required for the next step.
Polling RecommendationPoll at intervals of 2-5 seconds. The bill retrieval typically completes within 10-30 seconds depending on the biller’s response time.

Path Parameters

string
required
Razorpay’s bill request id created. For example, billreq_ERNEungCtXpZqM.

Response Parameters

string
Razorpay’s bill request id. Store for reference and reconciliation.
string
Entity type. Always bill_payment.bill_request.
string
Request status. Possible values:
  • processing - The request is in progress. Continue polling.
  • success - Bill details retrieved successfully. Proceed to create a payment.
  • failed - Bill retrieval failed. See error_* fields for details.
object
Customer reference details echoed from the request as dynamic key-value pairs. Returned only when sent in the request. Free-form metadata that you can use for your own tracking and reconciliation.
string
Dynamic key-value pair holding your customer reference. Echoed back exactly as sent in the request. Not validated by Razorpay.
string
Dynamic key-value pair holding the customer name. Echoed back exactly as sent in the request. Not validated by Razorpay.
string
required
Customer mobile number provided at payment create on PA.
string
Dynamic key-value pair holding the customer email. Echoed back exactly as sent in the request. Not validated by Razorpay.
string
Razorpay’s internal biller id, same as sent in request. Use for reference and reconciliation.
string
NPCI biller id. Use for reference and reconciliation.
string
Bill payment gateway used. Default value is bbps.
integer
Request created timestamp at Razorpay (Unix seconds). Audit trail.
object
Details of the bill account holder, i.e. the actual user whose bill is being paid. Returned as dynamic key-value pairs defined by the biller’s account_holder_config (NPCI biller MDM). The keys and values vary by biller. Razorpay does not control either.
array
Bill details if a bill is retrieved against the request. Empty array if not available.
string
Bill number given from biller. Show bill reference number on UI/UX.
integer
Total bill amount provided by biller in paise. Show the bill amount to be paid by customer.
string
Default to INR. Show the currency of the amount in their UI/UX.
string
Account holder name as per the biller record. Verify against account_holder data.
integer
Bill generation date from biller (Unix seconds). Show the bill generated date on UI/UX.
integer
Bill due date from biller (Unix seconds). Show the due date of the bill on UI/UX.
enum
Billing frequency. Values: onetime, daily, weekly, monthly, bimonthly, quarterly, halfyearly, yearly. Show the billing frequency of the bill on UI/UX.
object
Amount breakup returned as dynamic key-value pairs defined by the biller (NPCI biller MDM). The keys and values vary by biller category. Razorpay does not control either. Show as part of amount breakup in UI/UX.
integer
Dynamic key-value pair holding the minimum amount due in paise. Returned only when sent by the biller. Varies by biller category.
integer
Dynamic key-value pair holding the current outstanding amount in paise. Returned only when sent by the biller. Varies by biller category.
object
Dynamic key-value pairs of information sent by biller. Razorpay does not control this. Show biller-specific customer data on receipt.
string
Error code if status is failed or if no bill is available. For example, BAD_REQUEST_ERROR, GATEWAY_ERROR.
string
Human-readable error description.
string
Origin of the error. Values: customer, biller, gateway, business.
string
Step at which the error occurred. For example, bill_request, validation.
string
Programmatic error reason code. Use for error-specific handling logic.

Errors

Code: 400No bill request was found for the provided id.Solution: Verify the id matches the one returned by the Create a Bill Request API.
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.