curl -X PATCH https://api.razorpay.com/v2/accounts/acc_HQVlm3bnPmccC0/products/acc_prd_HEgNpywUFctQ9e/ \
-u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
-H "Content-Type: application/json" \
-d '{
"settlements":{
"account_number":"1234567890123456",
"ifsc_code":"HDFC0000317",
"beneficiary_name":"Gaurav Kumar"
},
"tnc_accepted":true
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String accountId = "acc_HQVlm3bnPmccC0";
String productId = "acc_prd_HEgNpywUFctQ9e";
JSONObject productRequest = new JSONObject();
JSONObject settlements = new JSONObject();
settlements.put("account_number","1234567890123456");
settlements.put("ifsc_code","HDFC0000317");
settlements.put("beneficiary_name","Gaurav Kumar");
productRequest.put("settlements",settlements);
productRequest.put("tnc_accepted",true);
Account product = instance.product.edit(accountId, productId, productRequest);
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
accountId = "acc_HQVlm3bnPmccC0"
productId = "acc_prd_HEgNpywUFctQ9e"
client.product.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": True
})
$api = new Api($key_id, $secret);
$accountId = "acc_HQVlm3bnPmccC0";
$productId = "acc_prd_HEgNpywUFctQ9e";
$api->account->fetch($accountId)->products()->edit($productId, array(
"settlements" => array(
"account_number" => "1234567890123456",
"ifsc_code" => "HDFC0000317",
"beneficiary_name" => "Gaurav Kumar"
),
"tnc_accepted" => true
));
RazorpayClient client = new RazorpayClient(your_key_id, your_secret);
string accountId = "acc_HQVlm3bnPmccC0";
string productId = "acc_prd_HEgNpywUFctQ9e";
Dictionary<string, object> productRequest = new Dictionary<string, object>();
Dictionary<string, object> settlements = new Dictionary<string, object>();
settlements.Add("account_number", "1234567891");
settlements.Add("ifsc_code", "HDFC0000317");
settlements.Add("beneficiary_name", "Gaurav Kumar");
productRequest.Add("settlements", settlements);
productRequest.Add("tnc_accepted", true);
Product product = client.Product.Fetch(accountId, productId).Edit(productRequest);
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
accountId = "acc_HQVlm3bnPmccC0"
productId = "acc_prd_HEgNpywUFctQ9e"
Razorpay::Product.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": true
})
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
var accountId = "acc_HQVlm3bnPmccC0";
var productId = "acc_prd_HEgNpywUFctQ9e";
instance.products.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": true
});
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
accountId := "acc_HQVlm3bnPmccC0"
productId := "acc_prd_HEgNpywUFctQ9e"
data := map[string]interface{}{
"settlements": map[string]interface{}{
"account_number":"1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar",
},
"tnc_accepted": true
}
body, err := client.Product.Edit(accountId, productId, data, nil)
razorpay route accounts product-update acc_IEIkSOM5VJb2Lm pro_IEIkSOM5VJb2Lm \
--account-number 9876543210123456 \
--ifsc HDFC0001234 \
--beneficiary-name "Acme Pvt Ltd" \
--tnc-accepted
{
"requested_configuration":[
],
"active_configuration":{
"settlements":{
"account_number":"1234567890123456",
"ifsc_code":"HDFC0000317",
"beneficiary_name":"Gaurav Kumar"
}
},
"requirements":[
],
"tnc":{
"id":"tnc_K1eopApuHyBE7D",
"accepted":true,
"accepted_at":1659638222
},
"id":"acc_prd_K1eopFF8G21tux",
"product_name":"route",
"activation_status":"activated",
"account_id":"acc_K1em7bWYEiwmnc",
"requested_at":1659638222
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"Linked account does not exist",
"source":"",
"step":"",
"reason":"linked_account_id_does_not_exist",
"metadata":{
}
}
}
Route
Update a Product Configuration
Update a product configuration using the Razorpay API.
PATCH
/
v2
/
accounts
/
:account_id
/
products
/
:product_id
curl -X PATCH https://api.razorpay.com/v2/accounts/acc_HQVlm3bnPmccC0/products/acc_prd_HEgNpywUFctQ9e/ \
-u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
-H "Content-Type: application/json" \
-d '{
"settlements":{
"account_number":"1234567890123456",
"ifsc_code":"HDFC0000317",
"beneficiary_name":"Gaurav Kumar"
},
"tnc_accepted":true
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String accountId = "acc_HQVlm3bnPmccC0";
String productId = "acc_prd_HEgNpywUFctQ9e";
JSONObject productRequest = new JSONObject();
JSONObject settlements = new JSONObject();
settlements.put("account_number","1234567890123456");
settlements.put("ifsc_code","HDFC0000317");
settlements.put("beneficiary_name","Gaurav Kumar");
productRequest.put("settlements",settlements);
productRequest.put("tnc_accepted",true);
Account product = instance.product.edit(accountId, productId, productRequest);
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
accountId = "acc_HQVlm3bnPmccC0"
productId = "acc_prd_HEgNpywUFctQ9e"
client.product.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": True
})
$api = new Api($key_id, $secret);
$accountId = "acc_HQVlm3bnPmccC0";
$productId = "acc_prd_HEgNpywUFctQ9e";
$api->account->fetch($accountId)->products()->edit($productId, array(
"settlements" => array(
"account_number" => "1234567890123456",
"ifsc_code" => "HDFC0000317",
"beneficiary_name" => "Gaurav Kumar"
),
"tnc_accepted" => true
));
RazorpayClient client = new RazorpayClient(your_key_id, your_secret);
string accountId = "acc_HQVlm3bnPmccC0";
string productId = "acc_prd_HEgNpywUFctQ9e";
Dictionary<string, object> productRequest = new Dictionary<string, object>();
Dictionary<string, object> settlements = new Dictionary<string, object>();
settlements.Add("account_number", "1234567891");
settlements.Add("ifsc_code", "HDFC0000317");
settlements.Add("beneficiary_name", "Gaurav Kumar");
productRequest.Add("settlements", settlements);
productRequest.Add("tnc_accepted", true);
Product product = client.Product.Fetch(accountId, productId).Edit(productRequest);
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
accountId = "acc_HQVlm3bnPmccC0"
productId = "acc_prd_HEgNpywUFctQ9e"
Razorpay::Product.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": true
})
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
var accountId = "acc_HQVlm3bnPmccC0";
var productId = "acc_prd_HEgNpywUFctQ9e";
instance.products.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": true
});
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
accountId := "acc_HQVlm3bnPmccC0"
productId := "acc_prd_HEgNpywUFctQ9e"
data := map[string]interface{}{
"settlements": map[string]interface{}{
"account_number":"1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar",
},
"tnc_accepted": true
}
body, err := client.Product.Edit(accountId, productId, data, nil)
razorpay route accounts product-update acc_IEIkSOM5VJb2Lm pro_IEIkSOM5VJb2Lm \
--account-number 9876543210123456 \
--ifsc HDFC0001234 \
--beneficiary-name "Acme Pvt Ltd" \
--tnc-accepted
{
"requested_configuration":[
],
"active_configuration":{
"settlements":{
"account_number":"1234567890123456",
"ifsc_code":"HDFC0000317",
"beneficiary_name":"Gaurav Kumar"
}
},
"requirements":[
],
"tnc":{
"id":"tnc_K1eopApuHyBE7D",
"accepted":true,
"accepted_at":1659638222
},
"id":"acc_prd_K1eopFF8G21tux",
"product_name":"route",
"activation_status":"activated",
"account_id":"acc_K1em7bWYEiwmnc",
"requested_at":1659638222
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"Linked account does not exist",
"source":"",
"step":"",
"reason":"linked_account_id_does_not_exist",
"metadata":{
}
}
}
Available in🇮🇳 India🇲🇾 Malaysia🇸🇬 Singapore🇺🇸 United States
Use this endpoint to update a product configuration.
curl -X PATCH https://api.razorpay.com/v2/accounts/acc_HQVlm3bnPmccC0/products/acc_prd_HEgNpywUFctQ9e/ \
-u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
-H "Content-Type: application/json" \
-d '{
"settlements":{
"account_number":"1234567890123456",
"ifsc_code":"HDFC0000317",
"beneficiary_name":"Gaurav Kumar"
},
"tnc_accepted":true
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String accountId = "acc_HQVlm3bnPmccC0";
String productId = "acc_prd_HEgNpywUFctQ9e";
JSONObject productRequest = new JSONObject();
JSONObject settlements = new JSONObject();
settlements.put("account_number","1234567890123456");
settlements.put("ifsc_code","HDFC0000317");
settlements.put("beneficiary_name","Gaurav Kumar");
productRequest.put("settlements",settlements);
productRequest.put("tnc_accepted",true);
Account product = instance.product.edit(accountId, productId, productRequest);
import razorpay
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
accountId = "acc_HQVlm3bnPmccC0"
productId = "acc_prd_HEgNpywUFctQ9e"
client.product.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": True
})
$api = new Api($key_id, $secret);
$accountId = "acc_HQVlm3bnPmccC0";
$productId = "acc_prd_HEgNpywUFctQ9e";
$api->account->fetch($accountId)->products()->edit($productId, array(
"settlements" => array(
"account_number" => "1234567890123456",
"ifsc_code" => "HDFC0000317",
"beneficiary_name" => "Gaurav Kumar"
),
"tnc_accepted" => true
));
RazorpayClient client = new RazorpayClient(your_key_id, your_secret);
string accountId = "acc_HQVlm3bnPmccC0";
string productId = "acc_prd_HEgNpywUFctQ9e";
Dictionary<string, object> productRequest = new Dictionary<string, object>();
Dictionary<string, object> settlements = new Dictionary<string, object>();
settlements.Add("account_number", "1234567891");
settlements.Add("ifsc_code", "HDFC0000317");
settlements.Add("beneficiary_name", "Gaurav Kumar");
productRequest.Add("settlements", settlements);
productRequest.Add("tnc_accepted", true);
Product product = client.Product.Fetch(accountId, productId).Edit(productRequest);
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
accountId = "acc_HQVlm3bnPmccC0"
productId = "acc_prd_HEgNpywUFctQ9e"
Razorpay::Product.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": true
})
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
var accountId = "acc_HQVlm3bnPmccC0";
var productId = "acc_prd_HEgNpywUFctQ9e";
instance.products.edit(accountId, productId, {
"settlements": {
"account_number": "1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar"
},
"tnc_accepted": true
});
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
accountId := "acc_HQVlm3bnPmccC0"
productId := "acc_prd_HEgNpywUFctQ9e"
data := map[string]interface{}{
"settlements": map[string]interface{}{
"account_number":"1234567890123456",
"ifsc_code": "HDFC0000317",
"beneficiary_name": "Gaurav Kumar",
},
"tnc_accepted": true
}
body, err := client.Product.Edit(accountId, productId, data, nil)
razorpay route accounts product-update acc_IEIkSOM5VJb2Lm pro_IEIkSOM5VJb2Lm \
--account-number 9876543210123456 \
--ifsc HDFC0001234 \
--beneficiary-name "Acme Pvt Ltd" \
--tnc-accepted
{
"requested_configuration":[
],
"active_configuration":{
"settlements":{
"account_number":"1234567890123456",
"ifsc_code":"HDFC0000317",
"beneficiary_name":"Gaurav Kumar"
}
},
"requirements":[
],
"tnc":{
"id":"tnc_K1eopApuHyBE7D",
"accepted":true,
"accepted_at":1659638222
},
"id":"acc_prd_K1eopFF8G21tux",
"product_name":"route",
"activation_status":"activated",
"account_id":"acc_K1em7bWYEiwmnc",
"requested_at":1659638222
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"Linked account does not exist",
"source":"",
"step":"",
"reason":"linked_account_id_does_not_exist",
"metadata":{
}
}
}
Path Parameters
string
required
The unique identifier of an account generated by Razorpay. For example,
acc_HQVlm3bnPmccC0.string
required
The unique identifier of a product generated by Razorpay. For example,
acc_prd_HEgNpywUFctQ9e.Request Parameters
object
The Settlement settings object.
string
The bank account number to which settlements are made. For example,
1234567890123456.string
The IFSC associated with the bank account. For example,
HDFC0000317.string
required
The name of the beneficiary associated with the bank account.
boolean
required
This parameter is optional but needs to be added to accept terms and conditions. Possible value is only
true.Response Parameters
object
The configuration of the product requested by the user that is yet to be set as active.
object
The configuration of the product that has been set as active.
object
The Settlement settings object.
string
The bank account number to which settlements are made. Account details can be found on the Dashboard. For example,
7878780080310012.string
The IFSC associated with the bank account. For example,
RATN0VAAPIS.string
The name of the beneficiary associated with the bank account.
Handy Tip
This API parameter is needed to complete the KYC process. However, it is optional for this API.
This API parameter is needed to complete the KYC process. However, it is optional for this API.
object
The list of requirements to be enabled for this product or some of the configurations under this product.
Errors
Linked account does not exist.
Linked account does not exist.
Code:
400This error occurs when the requester is not the parent of the child account, or the child account does not exist.Solution: Ensure the Linked Account id exists before proceeding with the update API.Merchant activation form has been locked for editing by admin.
Merchant activation form has been locked for editing by admin.
Code:
400This error occurs when the submitted extra fields are under the review stage.Solution: You can wait for the review to be successful.Invalid IFSC Code.
Invalid IFSC Code.
Code:
400This error occurs when the IFSC is invalid.Solution: Ensure to pass the valid IFSC.The account number must be between 5 and 20 characters.
The account number must be between 5 and 20 characters.
Code:
400This error occurs when the account number is less than 5 or more than 20 characters.Solution: Ensure the account number is between 5 to 20 characters.Was this page helpful?