Skip to main content
You can create, fetch and update product configuration requests using these APIs. You can even accept terms and conditions for the requested product using these APIs. You can fetch the terms and conditions using the Fetch Terms and Conditions API.
Handy Tips
  • In the requirements section of Documents API, depending upon the requirement, you can classify it into two types:
  • Optional document
field_reference: “proof_type.document_type” Example: business_proof_of_identification.business_pan_url This means as a sub-merchant you need to upload the business_pan_url document in order to get the optional requirement fulfilled.
  • Selected optional document
field_reference : “proof_type” Example: individual_proof_of_address This means as a merchant you can upload from ONE of the following groups, that is submit [aadhar_front ,aadhar_back] or [voter_id_front, voter_id_back] or [passport_front, passport_back]. Once all the documents from any ONE of the groups are uploaded, the optional requirement gets fulfilled.
  • The products Payment Links and Payment Gateway have similar requirements. If a requirement is submitted through a product configuration for payment_gateway, the same will be applicable for other product configurations, such as payment_links, and vice versa.
You can try out our APIs on the Razorpay Postman Public Workspace.

Product Configuration Entity

Entity Parameters

id : string The unique identifier of a product generated by Razorpay for a sub-merchant account. This id is used to fetch or update a product. product_name : string The product(s) to be configured. Possible values:
  • payment_gateway
  • payment_links
tnc : object It consists of the configuration for the accepted terms and conditions by the merchant for the requested product. If the terms and conditions are accepted by the user for the requested product, it would consist of following fields: id : string The unique identifier representing the acceptance of terms and conditions for a product by a user. accepted : boolean The flag that represents whether the terms and conditions are accepted by the user.
  • true: Terms and conditions are accepted by user.
  • false: Terms and conditions are not accepted by user.
accepted_at : integer The Unix timestamp at which the terms and conditions were accepted by the user for the requested product. activation_status : string The status of the product activation.
  • requested
  • needs_clarification
  • under_review
  • activated_kyc_pending
  • activated
  • suspended
otp : object OTP specific details of the merchant. contact_mobile : string The contact number for which the OTP details have been submitted.
Handy Tips
This number should be the same as the one provided during account creation. external_reference_number : string Used to search the OTP verification logs on your (partner’s) system in case of an enquiry. Ideally, this is a reference number that you use to track OTP verification. otp_submission_timestamp : string The timestamp of OTP submission to user. otp_verification_timestamp : string The timestamp of OTP verification by partner. configuration : The following are the possible configurations: payment_methods : object The payment methods configured, such as, netbanking, UPI, Wallet and EMI. upi : object The UPI type payment method. status : string The status of UPI payment method. instrument : array The list of UPI instruments requested or enabled. netbanking : object The netbanking type payment method. status : string The status of the netbanking payment method. instrument : array The netbanking instrument object. type : string The type of netbanking payment method. Possible values:
  • Retail
  • Corporate
bank : array The list of netbanking banks requested or enabled. Refer the Appendix page for netbanking bank codes. wallet : object The Wallet type payment method. status : string The status of the Wallet payment method. instrument : array The list of Wallet instruments requested or enabled. emi : string The EMI type payment method. status : string The status of EMI payment method. instrument : array The EMI instrument object. type : string The type of EMI payment method. Possible values:
  • card_emi
  • cardless_emi
partner : array The list of EMI partners requested or enabled. Possible values:
  • For card_emi: debit and credit.
  • For cardless_emi: zestmoney and earlysalary.
paylater : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the paylater payment method.
  • false: Does not enable the paylater payment method.
instrument : string The Paylater service provider. Possible values are:
  • epaylater
  • getsimpl
payment_capture : object The payment capture settings object. mode : string The mode through which payment capture is done. Possible values:
  • automatic: Payments are auto-captured (default)
  • manual: You have to manually capture payments using our Capture API or from the Partner’s Dashboard.
automatic_expiry : numeric This denotes the time in minutes when the payment is in the authorized state. This is auto-captured. manual_expiry : numeric This denotes the time in minutes until you can manually capture payments in the authorized state.
  • Must be equal to or greater than the automatic_expire_period value.
  • The default and the maximum value is 7200 minutes.
  • The payments in the authorized state after the manual_expiry_period are auto-refunded.
settlements : object The Settlement settings object. account_number : string The bank account number to which settlements are made. Account details can be found on the Dashboard. For example, 7878780080316316 ifsc_code : string The IFSC associated with the bank account. For example, RATN0VAAPIS. beneficiary_name : string The name of the beneficiary associated with the bank account.
Handy Tip
This API parameter is needed complete the KYC process. However, it is optional for this API. refund : object This denotes the payment refund settings. default_refund_speed : string Speed at which the refund is to be processed. Possible values are:
  • normal: Indicates that the refund will be processed at the normal speed. By default, the refund will take 5-7 working days.
  • optimum: Indicates that the refund will be processed at an optimal speed based on Razorpay’s internal fund transfer logic. That is:
    • If the refund can be processed instantly, Razorpay will initiate the process irrespective of the payment method used to make the payment.
    • If an instant refund is not made, Razorpay will initiate a refund that is processed at the normal speed. For example, payments made using debit cards, netbanking or unsupported credit cards.
checkout : object The checkout form of the payment capture. theme_color : string The theme color for sub-merchant’s checkout page logo : string The logo of the sub-merchant’s business on the checkout page. flash_checkout : boolean The flagging options Enable or Disable for Razorpay’s Flash Checkout to securely save the card details of your customers. notifications : object This denotes the notifications settings. email : string The email addresses that will receive notifications regarding payments, settlements, daily payment reports, webhooks, and so on. whatsapp : boolean The WhatsApp notifications you receive regarding payments, settlements, daily payment reports, webhooks, etc. sms : boolean The SMS notifications you receive regarding payments, settlements, daily payment reports, webhooks, etc. This attribute will be set to false. requested_configuration : object The configuration of the product requested by the user that is yet to be set as active. active_configuration : object The configuration of the product that has been set as active. requirements : object The list of requirements to be enabled for this product or some of the configurations under this product. field_reference : string The field which is in issue or missing. The JSON key path in resolution URL. resolution_url : string The URL to address the requirement. The API endpoint to be used for updating missing fields or documents. status : string The status of the requirement. reason_code : string The reason code for showing in the requirement. Description will be sent only when reason code is "". Possible values are:
  • field_missing
  • needs_clarification
  • document_missing
description : string This parameter is displayed when the reason_code is needs_clarification. requested_at : integer The Unix timestamp at which the product configuration is requested.

Sample Entity

PG Sample Entity

Request a Product Configuration

You can even accept terms and conditions for the requested product using these APIs.
Handy Tips
As a partner, you can fetch the Razorpay terms and conditions using the Fetch Terms and Conditions API. Use the following API endpoint to request for a product configuration: /accounts/:account_id/products
PG Request

Path Parameter

account_id : string The unique identifier of the sub-merchant account generated by Razorpay. For example, acc_HQVlm3bnPmccC0. This id is used to fetch or update a product. The product is created for this sub-merchant account id.

Request Parameters

product_name mandatory : string The product(s) to be configured. Possible values:
  • payment_gateway
  • payment_links
tnc_accepted optional : boolean Pass this parameter to accept terms and conditions. Send this parameter along with the ip parameter when the tnc is accepted. Possible value is true which indicates acceptance of terms and conditions. ip optional : string The IP address of the merchant while accepting the terms and conditions. Send this parameter along with the tnc_accepted parameter when the tnc is accepted.

Response Parameters

requested_configuration : object The configuration of the product requested by the user that is yet to be set as active. tnc : object It consists of the configuration for the accepted terms and conditions by the merchant for the requested product. If the terms and conditions are accepted by the user for the requested product, it would consist of following fields: id : string The unique identifier representing the acceptance of terms and conditions for a product by a user. accepted : boolean The flag that represents whether the terms and conditions were accepted by the user.
  • true: Terms and conditions are accepted by user.
  • false: Terms and conditions are not accepted by user.
accepted_at : integer The Unix timestamp at which the terms and conditions were accepted by the user for the requested product. active_configuration : object The configuration of the product that has been set as active. payment_capture : object The Payment Capture Settings Object mode : string The mode through which payment capture is done. Possible values:
  • automatic: Payments are auto-captured (default)
  • manual: You have to manually capture payments using our Capture API or from the Partner’s Dashboard.
automatic_expiry : numeric This denotes the time in minutes when the payment is in the authorized state. This is auto-captured. manual_expiry : numeric This denotes the time in minutes until you can manually capture payments in the authorized state.
  • Must be equal to or greater than the automatic_expire_period value.
  • The default and the maximum value is 7200 minutes.
  • The payments in the authorized state after the manual_expiry_period are auto-refunded.
settlements : object The Settlement settings object. account_number : string The bank account number to which settlements are made. Account details can be found on the Dashboard. For example, 7878780080316316 ifsc_code : string The IFSC associated with the bank account. For example, RATN0VAAPIS. beneficiary_name : string The name of the beneficiary associated with the bank account. checkout : object The checkout form of the payment capture. theme_color : string The theme color for sub-merchant’s checkout page. logo : string The logo of the sub-merchant’s business on the checkout page. flash_checkout : boolean The flagging options Enable or Disable for Razorpay’s Flash Checkout to securely save the card details of your customers. refund : object This denotes the payment refund settings. default_refund_speed : string Speed at which the refund is to be processed. Possible values are:
  • normal: Indicates that the refund will be processed via the normal speed. By default, the refund will take 5-7 working days.
  • optimum: Indicates that the refund will be processed at an optimal speed based on Razorpay’s internal fund transfer logic. That is:
  • If the refund can be processed instantly, Razorpay will initiate the process irrespective of the payment method used to make the payment.
  • If an instant refund is not made, Razorpay will initiate a refund that is processed at the normal speed. For example, payments made using debit cards, netbanking or unsupported credit cards.
notifications : object This denotes the notifications settings. email : string The email addresses that will receive notifications regarding payments, settlements, daily payment reports, webhooks, and so on. whatsapp : boolean The WhatsApp notifications you receive regarding payments, settlements, daily payment reports, webhooks, etc. sms : boolean The SMS notifications you receive regarding payments, settlements, daily payment reports, webhooks, etc. This attribute will be set to false. payment_methods optional : object Details of the payment method you want to enable for the product. netbanking
: object The payment method to be enabled.
enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the netbanking payment method.
  • false: Does not enable the netbanking payment method.
instrument : object Details regarding the bank. Possible value: type : string The type of bank. Possible values are retail and corporate. bank : string The bank code. Refer to the list of bank codes. card : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the card payment method.
  • false: Does not enable the card payment method.
instrument : object Details regarding the card. Possible value: type : string Possible value is domestic. issuer : string The card issuer. Possible values for issuer are:
  • amex
  • dicl
  • maestro
  • mastercard
  • rupay
  • visa
wallet : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the wallet payment method.
  • false: Does not enable the wallet payment method.
instrument : string The wallet issuer. Possible values are:
  • airtelmoney
  • amazonpay
  • jiomoney
  • mobiwik
  • mpesa
  • olamoney
  • paytm
  • payzapp
  • payumoney
  • phonepe
  • phonepeswitch
  • sbibuddy
upi : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the upi payment method.
  • false: Does not enable the upi payment method.
instrument : string The UPI service provider. Possible values are:
  • google_pay
  • upi
paylater : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the paylater payment method.
  • false: Does not enable the paylater payment method.
instrument : string The Paylater service provider. Possible values are:
  • epaylater
  • getsimpl
emi : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the paylater payment method.
  • false: Does not enable the paylater payment method.
instrument : object The EMI instrument object. type : string The type of EMI payment method. Possible values:
  • card_emi
  • cardless_emi
partner : string The list of EMI partners requested or enabled. Possible values:
  • For card_emi: debit and credit.
  • For cardless_emi: zestmoney and earlysalary.
requirements : object The list of requirements to be enabled for this product or some of the configurations under this product. field_reference : string The field which is in issue or missing. The JSON key path in resolution URL. resolution_url : string The URL to address the requirement. The API endpoint to be used for updating missing fields or documents. status : string The status of the requirement. Possible values are:
  • optional
  • required
reason_code : string The reason code for showing in the requirement. Possible values are:
  • field_missing
  • needs_clarification
  • document_missing
id : string The unique identifier of the sub-merchant product account generated by Razorpay. For example, acc_prd_HEgNpywUFctQ9e. The product is created for this sub-merchant account id. account_id : string The unique identifier of the sub-merchant generated by Razorpay. For example, acc_HQVlm3bnPmccC0. product_name : string The product(s) to be configured. Possible values:
  • payment_gateway
  • payment_links
activation_status : string The status of the product activation.
  • requested
  • needs_clarification
  • under_review
  • activated_kyc_pending
  • activated
  • suspended
requested_at : integer The Unix timestamp at which the product configuration has been requested.

Error Response Parameters

Know about the various error responses for this API.

Update a Product Configuration

Use the following endpoint to update a product’s configuration: /accounts/:account_id/products/:product_id
Watch Out!Currently, we do not support making concurrent requests to the following Onboarding APIs including their combination on the same account_id:

Use Cases

You can update the following details for Payment Gateway and Payment Links using the Update a Product Configuration API. However, whether the details can be updated or not depends upon the product activation status.
  • OTP specific details: You can share OTP-specific details using the otp object.
  • Settlement Bank Account Details: You can update the settlement object with the new bank account details based on the product activation status.
  • Request Additional Payment Methods: You can request various payment methods and related instruments to be enabled using the payment_methods object. However, you can request for only one payment method at a time. For example, if you want to enable HDFC Netbanking and Rupay Domestic Card payment methods, you should send two separate API requests. You cannot send a consolidated request using this API.
  • Update Notifications Settings: You can update the email, WhatsApp and SMS settings using the notifications object.
  • Configure Checkout Features: You can change the checkout theme colour, add a logo and enable the saving of customer card details using the checkout object.
  • Configure Refund Speed: You can configure the default refund speed using the refund object.
  • Accept of Terms and Conditions: You can accept Razorpay terms and conditions.

Product Activation Status and Updates Permitted

Activation Status | Update Permitted

requested | You can update the details for all the fields.

needs_clarification | The fields you can update depend on the reason_code mentioned in the requirements object in the Request a Product Activation API: - document_missing or field_missing: You can update all the fields.
  • needs_clarification: You can update only the specific field for which Razorpay is seeking clarification for.

under_review | You cannot update any field.

activated_kyc_pending | You cannot update any field.

activated | You cannot use this API to update any fields as your account is already active.

Update Settlement Account and Providing OTP Details

The settlement account details and OTP-specific details are provided in the sample code given below. Payment methods object is not used here.
PG

Request Payment Methods

Given below is the Payment Gateway product sample code when you request for a specific payment method. Here the payment_method object is used.
Watch Out!You can send request for only one payment method at a time. For example, if you want to enable HDFC Netbanking and Rupay Domestic Card payment methods, you should send two separate API requests. You cannot send a consolidated request using this API.
Netbanking

Path Parameters

account_id mandatory : string The unique identifier of a sub-merchant account generated by Razorpay. For example, acc_HQVlm3bnPmccC0. id mandatory : string The unique identifier of a product generated by Razorpay. For example, acc_prd_HEgNpywUFctQ9e.

Request Parameters

otp conditional : object OTP specific details of the merchant. contact_mobile mandatory : string The contact number for which the OTP details have been submitted.
Handy Tips
This number should be the same as the one provided during account creation. external_reference_number optional : string Used to search the OTP verification logs on your (partner’s) system in case of an enquiry. Ideally, this is a reference number that you use to track OTP verification. otp_submission_timestamp optional : string The timestamp of OTP submission to user. otp_verification_timestamp optional : string The timestamp of OTP verification by partner. notifications optional : object This denotes the notifications settings. email : string The email addresses that will receive notifications regarding payments, settlements, daily payment reports, webhooks, and so on. whatsapp : boolean The WhatsApp notifications you receive regarding payments, settlements, daily payment reports, webhooks, etc. sms : boolean The SMS notifications you receive regarding payments, settlements, daily payment reports, webhooks, etc. This attribute will be set to false. checkout optional : object The checkout form of the payment capture. theme_color : string The theme color for sub-merchant’s checkout page logo : string The logo of the sub-merchant’s business on the checkout page. flash_checkout : boolean The flagging options Enable or Disable for Razorpay’s Flash Checkout to securely save the card details of your customers. refund optional : object This denotes the payment refund settings. default_refund_speed : string Speed at which the refund is to be processed. Possible values are:
  • normal: Indicates that the refund will be processed at normal speed. By default, the refund will take 5-7 working days.
  • optimum: Indicates that the refund will be processed at an optimal speed based on Razorpay’s internal fund transfer logic. That is:
  • If the refund can be processed instantly, Razorpay will initiate the process irrespective of the payment method used to make the payment.
  • If an instant refund is not made, Razorpay will initiate a refund that is processed at the normal speed. For example, payments made using debit cards, netbanking or unsupported credit cards.
settlements conditional : object The Settlement settings object. account_number : string The bank account number to which settlements are made. Account details can be found on the Dashboard. For example, 7878780080316316 ifsc_code : string The IFSC associated with the bank account. For example, RATN0VAAPIS. beneficiary_name : string The name of the beneficiary associated with the bank account. tnc_accepted optional : boolean Pass this parameter to accept terms and conditions. Send this parameter along with the ip parameter when the tnc is accepted. Possible value is true which indicates acceptance of terms and conditions. ip optional : string The IP address of the merchant while accepting the terms and conditions. Send this parameter along with the tnc_accepted parameter when the tnc is accepted. payment_methods optional : object Details of the payment method you want to enable for the product. netbanking
: object The payment method to be enabled.
enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the netbanking payment method.
  • false: Does not enable the netbanking payment method.
instrument : object Details regarding the bank. Possible value: type : string The type of bank. Possible values are retail and corporate. bank : string The bank code. Refer to the list of bank codes. card : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the card payment method.
  • false: Does not enable the card payment method.
instrument : object Details regarding the card. Possible value: type : string Possible value is domestic. issuer : string The card issuer. Possible values for issuer are:
  • amex
  • dicl
  • maestro
  • mastercard
  • rupay
  • visa
wallet : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the wallet payment method.
  • false: Does not enable the wallet payment method.
instrument : string The wallet issuer. Possible values are:
  • airtelmoney
  • amazonpay
  • jiomoney
  • mobiwik
  • mpesa
  • olamoney
  • paytm
  • payzapp
  • payumoney
  • phonepe
  • phonepeswitch
  • sbibuddy
upi : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the upi payment method.
  • false: Does not enable the upi payment method.
instrument : string The UPI service provider. Possible values are:
  • google_pay
  • upi
paylater : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the paylater payment method.
  • false: Does not enable the paylater payment method.
instrument : string The Paylater service provider. Possible values are:
  • epaylater
  • getsimpl
emi : object The payment method to be enabled. enabled : boolean Enables or disables the payment method. Possible values:
  • true: Enables the paylater payment method.
  • false: Does not enable the paylater payment method.
instrument : object The EMI instrument object. type : string The type of EMI payment method. Possible values:
  • card_emi
  • cardless_emi
partner : string The list of EMI partners requested or enabled. Possible values:
  • For card_emi: debit and credit.
  • For cardless_emi: zestmoney and earlysalary.

Error Response Parameters

Know about the various error responses for this API.

Fetch a Product Configuration

Use the following endpoint to retrieve the details of a product for a given sub-merchant’s account: /accounts/:account_id/products/:product_id
PG Request

Path Parameters

account_id mandatory : string The unique identifier of a sub-merchant account generated by Razorpay. For example, acc_HQVlm3bnPmccC0. id mandatory : string The unique identifier of a product generated by Razorpay. For example, acc_prd_HEgNpywUFctQ9e.

Error Response Parameters

Know about the various error responses for this API.