Skip to main content
PUT
/
pg
/
vba
/
{virtual_account_id}
Edit Virtual Bank Account Details
curl --request PUT \
  --url https://sandbox.cashfree.com/pg/vba/{virtual_account_id} \
  --header 'Content-Type: application/json' \
  --header 'x-api-version: <x-api-version>' \
  --header 'x-client-id: <x-client-id>' \
  --header 'x-client-secret: <x-client-secret>' \
  --data '
{
  "virtual_account_name": "John Doe",
  "virtual_account_email": "user@cashfree.com",
  "virtual_account_phone": 9876543210,
  "kyc_details": {
    "gst": "29AAICP2912R1ZR",
    "pan": "ABCPV1234D",
    "aadhaar": 655675523712
  },
  "remitter_lock_details": {
    "allowed_remitters": [
      {
        "account_number": 26291800001191,
        "ifsc": "YESB0000262"
      }
    ]
  },
  "amount_lock_details": {
    "min_amount": 1000,
    "max_amount": 5000
  },
  "bank_codes": [
    "YESB"
  ],
  "notification_group": "finance_team"
}
'
import requests

url = "https://sandbox.cashfree.com/pg/vba/{virtual_account_id}"

payload = {
"virtual_account_name": "John Doe",
"virtual_account_email": "user@cashfree.com",
"virtual_account_phone": 9876543210,
"kyc_details": {
"gst": "29AAICP2912R1ZR",
"pan": "ABCPV1234D",
"aadhaar": 655675523712
},
"remitter_lock_details": { "allowed_remitters": [
{
"account_number": 26291800001191,
"ifsc": "YESB0000262"
}
] },
"amount_lock_details": {
"min_amount": 1000,
"max_amount": 5000
},
"bank_codes": ["YESB"],
"notification_group": "finance_team"
}
headers = {
"x-client-id": "<x-client-id>",
"x-client-secret": "<x-client-secret>",
"x-api-version": "<x-api-version>",
"Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PUT',
headers: {
'x-client-id': '<x-client-id>',
'x-client-secret': '<x-client-secret>',
'x-api-version': '<x-api-version>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
virtual_account_name: 'John Doe',
virtual_account_email: 'user@cashfree.com',
virtual_account_phone: 9876543210,
kyc_details: {gst: '29AAICP2912R1ZR', pan: 'ABCPV1234D', aadhaar: 655675523712},
remitter_lock_details: {allowed_remitters: [{account_number: 26291800001191, ifsc: 'YESB0000262'}]},
amount_lock_details: {min_amount: 1000, max_amount: 5000},
bank_codes: ['YESB'],
notification_group: 'finance_team'
})
};

fetch('https://sandbox.cashfree.com/pg/vba/{virtual_account_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.cashfree.com/pg/vba/{virtual_account_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'virtual_account_name' => 'John Doe',
'virtual_account_email' => 'user@cashfree.com',
'virtual_account_phone' => 9876543210,
'kyc_details' => [
'gst' => '29AAICP2912R1ZR',
'pan' => 'ABCPV1234D',
'aadhaar' => 655675523712
],
'remitter_lock_details' => [
'allowed_remitters' => [
[
'account_number' => 26291800001191,
'ifsc' => 'YESB0000262'
]
]
],
'amount_lock_details' => [
'min_amount' => 1000,
'max_amount' => 5000
],
'bank_codes' => [
'YESB'
],
'notification_group' => 'finance_team'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-version: <x-api-version>",
"x-client-id: <x-client-id>",
"x-client-secret: <x-client-secret>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://sandbox.cashfree.com/pg/vba/{virtual_account_id}"

payload := strings.NewReader("{\n \"virtual_account_name\": \"John Doe\",\n \"virtual_account_email\": \"user@cashfree.com\",\n \"virtual_account_phone\": 9876543210,\n \"kyc_details\": {\n \"gst\": \"29AAICP2912R1ZR\",\n \"pan\": \"ABCPV1234D\",\n \"aadhaar\": 655675523712\n },\n \"remitter_lock_details\": {\n \"allowed_remitters\": [\n {\n \"account_number\": 26291800001191,\n \"ifsc\": \"YESB0000262\"\n }\n ]\n },\n \"amount_lock_details\": {\n \"min_amount\": 1000,\n \"max_amount\": 5000\n },\n \"bank_codes\": [\n \"YESB\"\n ],\n \"notification_group\": \"finance_team\"\n}")

req, _ := http.NewRequest("PUT", url, payload)

req.Header.Add("x-client-id", "<x-client-id>")
req.Header.Add("x-client-secret", "<x-client-secret>")
req.Header.Add("x-api-version", "<x-api-version>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.put("https://sandbox.cashfree.com/pg/vba/{virtual_account_id}")
.header("x-client-id", "<x-client-id>")
.header("x-client-secret", "<x-client-secret>")
.header("x-api-version", "<x-api-version>")
.header("Content-Type", "application/json")
.body("{\n \"virtual_account_name\": \"John Doe\",\n \"virtual_account_email\": \"user@cashfree.com\",\n \"virtual_account_phone\": 9876543210,\n \"kyc_details\": {\n \"gst\": \"29AAICP2912R1ZR\",\n \"pan\": \"ABCPV1234D\",\n \"aadhaar\": 655675523712\n },\n \"remitter_lock_details\": {\n \"allowed_remitters\": [\n {\n \"account_number\": 26291800001191,\n \"ifsc\": \"YESB0000262\"\n }\n ]\n },\n \"amount_lock_details\": {\n \"min_amount\": 1000,\n \"max_amount\": 5000\n },\n \"bank_codes\": [\n \"YESB\"\n ],\n \"notification_group\": \"finance_team\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://sandbox.cashfree.com/pg/vba/{virtual_account_id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["x-client-id"] = '<x-client-id>'
request["x-client-secret"] = '<x-client-secret>'
request["x-api-version"] = '<x-api-version>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"virtual_account_name\": \"John Doe\",\n \"virtual_account_email\": \"user@cashfree.com\",\n \"virtual_account_phone\": 9876543210,\n \"kyc_details\": {\n \"gst\": \"29AAICP2912R1ZR\",\n \"pan\": \"ABCPV1234D\",\n \"aadhaar\": 655675523712\n },\n \"remitter_lock_details\": {\n \"allowed_remitters\": [\n {\n \"account_number\": 26291800001191,\n \"ifsc\": \"YESB0000262\"\n }\n ]\n },\n \"amount_lock_details\": {\n \"min_amount\": 1000,\n \"max_amount\": 5000\n },\n \"bank_codes\": [\n \"YESB\"\n ],\n \"notification_group\": \"finance_team\"\n}"

response = http.request(request)
puts response.read_body
{
  "virtual_bank_accounts": [
    {
      "vba_bank_code": "UTIB",
      "vba_account_number": 94351020001772,
      "vba_ifsc": "UTIB0CCH274",
      "vba_status": "ACTIVE",
      "vba_created_on": "2019-08-24T14:15:22Z",
      "vba_last_updated_on": "2019-08-24T14:15:22Z",
      "virtual_account_details": {
        "virtual_account_id": "User01",
        "virtual_account_name": "John Doe",
        "virtual_account_email": "user@cashfree.com",
        "virtual_account_phone": 9876543210
      },
      "kyc_details": {
        "gst": "29AAICP2912R1ZR",
        "pan": "ABCPV1234D",
        "aadhaar": "655675523712"
      },
      "remitter_lock_details": {
        "allowed_remitters": [
          {
            "account_number": "026291800001191",
            "ifsc": "YESB0000262"
          }
        ]
      },
      "amount_lock_details": {
        "min_amount": 1000,
        "max_amount": 5000
      },
      "notification_group": "<string>"
    }
  ]
}
{
"message": "bad URL, please check API documentation",
"code": "request_failed",
"type": "invalid_request_error"
}
{
"message": "authentication Failed",
"code": "request_failed",
"type": "authentication_error"
}
{
"message": "something is not found",
"code": "somethind_not_found",
"type": "invalid_request_error"
}
{
"message": "order with same id is already present",
"code": "order_already_exists",
"type": "invalid_request_error"
}
{
"message": "something is not found",
"code": "request_invalid",
"type": "idempotency_error"
}
{
"message": "Too many requests from IP. Check headers",
"code": "request_failed",
"type": "rate_limit_error"
}
{
"message": "something is not found",
"code": "bank_processing_failure",
"type": "api_error"
}

Headers

x-client-id
string
required

Client app ID. You can find your app id in the Merchant Dashboard.

x-client-secret
string
required

Client secret key. You can find your secret key in the Merchant Dashboard.

x-api-version
enum<string>
required

API version to be used. The accepted format is YYYY-MM-DD.

Available options:
2024-07-10T00:00:00.000Z
x-request-id
string

Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.

Example:

"4dfb9780-46fe-11ee-be56-0242ac120002"

Path Parameters

virtual_account_id
string
required

It is the unique ID you created to identify the virtual bank account.

Example:

"User01"

Body

application/json

Request parameters to edit a virtual bank account.

virtual_account_name
string

It is the unique name you give to identify a virtual bank account. The parameter allows alphanumeric characters and whitespaces.

Example:

"John Doe"

virtual_account_email
string

It is the email ID to associate with the virtual bank account.

Example:

"user@cashfree.com"

virtual_account_phone
string

It is the phone number to associate with the virtual bank account.

Example:

9876543210

kyc_details
object

It contains the KYC information of the virtual bank account holder.

remitter_lock_details
object

It contains the bank account information of the remitter.

amount_lock_details
object

It contains the details of the amount for the remittance.

bank_codes
string[]

It is the respective code used to create a virtual bank account in the corresponding bank. UTIB - Axis Bank ICIC - ICICI Bank YESB - Yes Bank Each bank code corresponds to a specific bank name.

notification_group
string

It is the group you created with the recipients to receive notificiations regarding the payment details. The parameter allows alphanumeric characters, hyphen (-), underscore

Example:

"finance_team"

Response

Success response for editing a virtual bank account.

virtual_bank_accounts
object[]

It contains the details of the virtual bank account.