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
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 '{
"settlement_accounts":[
{
"method":"upi",
"upi":{
"vpa":"ravi.kumar@okhdfcbank",
"beneficiary_name":"Ravi Kumar",
"currency":"INR",
"is_default":true
}
}
],
"tnc_accepted":true
}'
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 '{
"settlement_accounts":[
{
"method":"bank_account",
"bank_account":{
"account_number":"1234567890123456",
"beneficiary_name":"Priya Sharma",
"code_type":"ifsc",
"code":"HDFC0000317",
"currency":"INR",
"is_default":true
}
}
],
"tnc_accepted":true
}'
{
"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
}
{
"requested_configuration":[
],
"active_configuration":{
"settlement_accounts":[
{
"id":"sa_M1a2b3c4d5e6f7g8",
"entity":"settlement_account",
"method":"upi",
"upi":{
"vpa":"ravi.kumar@okhdfcbank",
"beneficiary_name":"Ravi Kumar",
"currency":"INR",
"is_default":true
},
"verification_status":"verified",
"verified_at":1708445520,
"active":true
}
]
},
"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
}
{
"requested_configuration":[
],
"active_configuration":{
"settlement_accounts":[
{
"id":"sa_M1a2b3c4d5e6f7g9",
"entity":"settlement_account",
"method":"bank_account",
"bank_account":{
"account_number":"XXXXXXXXXXXXXX56",
"beneficiary_name":"Priya Sharma",
"code_type":"ifsc",
"code":"HDFC0000317",
"currency":"INR",
"is_default":true
},
"verification_status":"pending",
"active":true
}
]
},
"requirements":[
],
"tnc":{
"id":"tnc_K1eopBqvIzCF8E",
"accepted":true,
"accepted_at":1659638222
},
"id":"acc_prd_K1eopGG9H32uvy",
"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
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 '{
"settlement_accounts":[
{
"method":"upi",
"upi":{
"vpa":"ravi.kumar@okhdfcbank",
"beneficiary_name":"Ravi Kumar",
"currency":"INR",
"is_default":true
}
}
],
"tnc_accepted":true
}'
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 '{
"settlement_accounts":[
{
"method":"bank_account",
"bank_account":{
"account_number":"1234567890123456",
"beneficiary_name":"Priya Sharma",
"code_type":"ifsc",
"code":"HDFC0000317",
"currency":"INR",
"is_default":true
}
}
],
"tnc_accepted":true
}'
{
"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
}
{
"requested_configuration":[
],
"active_configuration":{
"settlement_accounts":[
{
"id":"sa_M1a2b3c4d5e6f7g8",
"entity":"settlement_account",
"method":"upi",
"upi":{
"vpa":"ravi.kumar@okhdfcbank",
"beneficiary_name":"Ravi Kumar",
"currency":"INR",
"is_default":true
},
"verification_status":"verified",
"verified_at":1708445520,
"active":true
}
]
},
"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
}
{
"requested_configuration":[
],
"active_configuration":{
"settlement_accounts":[
{
"id":"sa_M1a2b3c4d5e6f7g9",
"entity":"settlement_account",
"method":"bank_account",
"bank_account":{
"account_number":"XXXXXXXXXXXXXX56",
"beneficiary_name":"Priya Sharma",
"code_type":"ifsc",
"code":"HDFC0000317",
"currency":"INR",
"is_default":true
},
"verification_status":"pending",
"active":true
}
]
},
"requirements":[
],
"tnc":{
"id":"tnc_K1eopBqvIzCF8E",
"accepted":true,
"accepted_at":1659638222
},
"id":"acc_prd_K1eopGG9H32uvy",
"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
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 '{
"settlement_accounts":[
{
"method":"upi",
"upi":{
"vpa":"ravi.kumar@okhdfcbank",
"beneficiary_name":"Ravi Kumar",
"currency":"INR",
"is_default":true
}
}
],
"tnc_accepted":true
}'
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 '{
"settlement_accounts":[
{
"method":"bank_account",
"bank_account":{
"account_number":"1234567890123456",
"beneficiary_name":"Priya Sharma",
"code_type":"ifsc",
"code":"HDFC0000317",
"currency":"INR",
"is_default":true
}
}
],
"tnc_accepted":true
}'
{
"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
}
{
"requested_configuration":[
],
"active_configuration":{
"settlement_accounts":[
{
"id":"sa_M1a2b3c4d5e6f7g8",
"entity":"settlement_account",
"method":"upi",
"upi":{
"vpa":"ravi.kumar@okhdfcbank",
"beneficiary_name":"Ravi Kumar",
"currency":"INR",
"is_default":true
},
"verification_status":"verified",
"verified_at":1708445520,
"active":true
}
]
},
"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
}
{
"requested_configuration":[
],
"active_configuration":{
"settlement_accounts":[
{
"id":"sa_M1a2b3c4d5e6f7g9",
"entity":"settlement_account",
"method":"bank_account",
"bank_account":{
"account_number":"XXXXXXXXXXXXXX56",
"beneficiary_name":"Priya Sharma",
"code_type":"ifsc",
"code":"HDFC0000317",
"currency":"INR",
"is_default":true
},
"verification_status":"pending",
"active":true
}
]
},
"requirements":[
],
"tnc":{
"id":"tnc_K1eopBqvIzCF8E",
"accepted":true,
"accepted_at":1659638222
},
"id":"acc_prd_K1eopGG9H32uvy",
"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
Determines whether the terms and conditions are accepted or not. Possible values:
true/false.array
Array of settlement destinations. Use this instead of
settlements to configure a VPA (UPI id) as the settlement destination, or to switch a Linked Account’s settlement destination between VPA and bank account. We currently support only 1 method per settlement account, so this array must contain exactly one entry.string
required
Settlement method. Possible values:
upi, bank_account.object
Required when
method is upi.string
required
Vendor’s UPI Virtual Payment Address. Format:
username@psp. The VPA must be validated and active on the vendor’s UPI app before submission.string
required
Name registered with the VPA. Must match the UPI registry.
string
required
Currency code. Currently supports
INR.boolean
required
Must be
true. We currently support only 1 method per settlement account.object
Required when
method is bank_account.string
required
Bank account number. 5–20 characters.
string
required
Account holder name.
string
required
Routing code type. Currently supports
ifsc.string
required
IFSC code. 11 characters, format
AAAA0XXXXXX.string
required
Currency code. Currently supports
INR.boolean
required
Must be
true. We currently support only 1 method per settlement account.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.
array
Present only when
settlement_accounts was passed in the request. List of settlement destinations on the product configuration.string
Unique identifier of the settlement account. For example,
sa_M1a2b3c4d5e6f7g8.string
Entity type. Value:
settlement_account.string
Settlement method. Possible values:
upi, bank_account. Bank account numbers are returned masked, showing only the last 2 characters. For example, XXXXXXXXXXXXXX56.string
Verification status of the settlement destination. For UPI, this is synchronous and returns
verified in the response. For bank accounts, verification happens asynchronously via penny drop (10–15 minutes) and the status starts as pending.integer
Unix timestamp when the settlement destination was verified. Present only once
verification_status is verified.boolean
Indicates whether the settlement destination is active.
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.More than one entry was provided in settlement_accounts.
More than one entry was provided in settlement_accounts.
Code:
400This error occurs when more than one settlement destination is provided. We currently support only 1 method per settlement account.Solution: Send exactly one entry in settlement_accounts.Invalid method.
Invalid method.
Code:
400This error occurs when settlement_accounts[].method is not one of the supported values.Solution: Use bank_account or upi as the settlement method.The VPA format is invalid.
The VPA format is invalid.
Code:
400This error occurs when the VPA is not in the username@psp format.Solution: Validate the VPA format on your side before submission.The VPA does not exist or is inactive on the UPI registry.
The VPA does not exist or is inactive on the UPI registry.
Code:
422This error occurs when the VPA cannot be found or has not been activated on the vendor’s UPI app.Solution: Prompt the vendor to verify and activate the VPA on their UPI app before resubmitting.The beneficiary name does not match the name registered with the VPA or bank account.
The beneficiary name does not match the name registered with the VPA or bank account.
Code:
422This error occurs when the beneficiary_name provided does not match the name registered with the VPA or bank account.Solution: Re-confirm the exact name with the vendor and update the beneficiary_name accordingly.Was this page helpful?