Product Configuration APIs

Use the Product Configuration APIs to enable sub-merchants request for a product.


You can use the Product Configuration APIs to configure and activate Razorpay products for a sub-merchant account according to their requirements. For example, if you need our Payment Gateway product for all sub-merchants or Payment Gateway for one sub-merchant and Payment Link product for another sub-merchant, you can do so using this API.

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:
    • Required 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 requirement fulfilled.
    • Selected required 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 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.

Run in Postman

Product Configuration Entity🔗

The Product entity consists of the following fields. You can find the JSON sample entity on the right side.

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.
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
  • suspended
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.

instrument_type
string The type of netbanking payment method. Possible values:
  • Retail
  • Corporate
instrument_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:
  • Retail
  • Corporate
partner
array The list of EMI partners requested or enabled.
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_expire_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 Partner's Razorpay 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.

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

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 Parameter🔗

product_name mandatory
string The product(s) to be configured. Possible values:
  • payment_gateway
  • payment_links
tnc_accepted optional
boolean It is optional for this API. Possible values:
  • true

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.
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_expire_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 Partner's Razorpay 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

object The payment methods configured like 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.

instrument_type
string The type of netbanking payment method. Possible values:
  • Retail
  • Corporate
instrument_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:
  • Retail
  • Corporate
partner
array The list of EMI partners requested or enabled.
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. 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
  • 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🔗

Handy Tips
You can accept terms and conditions by sending the tnc_accepted=true parameter in this API's request body.

You can update the settlements object using the Update a Product Configuration API based on the product activation status.

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 fields.

activated

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

Use the following endpoint to update a product's configuration:

/accounts/:account_id/products/:product_id

Currently, we do not support making concurrent requests to the following Onboarding APIs including their combination on the same account_id:

Please wait for the response of these APIs before making subsequent requests.

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🔗

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 Partner's Razorpay 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 This parameter is optional but needs to be added to accept terms and conditions. Possible value is only true.

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

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.

×