Skip to main content
PUT
/
pg
/
vba
/
{virtual_account_id}
/
Edit VBA
curl --request PUT \
  --url https://api-pacb-uat.eximpe.com/pg/vba/{virtual_account_id}/ \
  --header 'Content-Type: application/json' \
  --header 'X-API-Version: <api-key>' \
  --header 'X-Client-ID: <api-key>' \
  --header 'X-Client-Secret: <api-key>' \
  --header 'X-Merchant-ID: <api-key>' \
  --data '
{
  "virtual_account_name": "Updated Trade Name",
  "remitter_lock_details": {
    "allowed_remitters": [
      {
        "account_number": "26291800001191",
        "ifsc": "YESB0000262"
      }
    ]
  }
}
'
import requests

url = "https://api-pacb-uat.eximpe.com/pg/vba/{virtual_account_id}/"

payload = {
"virtual_account_name": "Updated Trade Name",
"remitter_lock_details": { "allowed_remitters": [
{
"account_number": "26291800001191",
"ifsc": "YESB0000262"
}
] }
}
headers = {
"X-Client-ID": "<api-key>",
"X-Client-Secret": "<api-key>",
"X-Merchant-ID": "<api-key>",
"X-API-Version": "<api-key>",
"Content-Type": "application/json"
}

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

print(response.text)
const options = {
method: 'PUT',
headers: {
'X-Client-ID': '<api-key>',
'X-Client-Secret': '<api-key>',
'X-Merchant-ID': '<api-key>',
'X-API-Version': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
virtual_account_name: 'Updated Trade Name',
remitter_lock_details: {allowed_remitters: [{account_number: '26291800001191', ifsc: 'YESB0000262'}]}
})
};

fetch('https://api-pacb-uat.eximpe.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://api-pacb-uat.eximpe.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' => 'Updated Trade Name',
'remitter_lock_details' => [
'allowed_remitters' => [
[
'account_number' => '26291800001191',
'ifsc' => 'YESB0000262'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Version: <api-key>",
"X-Client-ID: <api-key>",
"X-Client-Secret: <api-key>",
"X-Merchant-ID: <api-key>"
],
]);

$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://api-pacb-uat.eximpe.com/pg/vba/{virtual_account_id}/"

payload := strings.NewReader("{\n \"virtual_account_name\": \"Updated Trade Name\",\n \"remitter_lock_details\": {\n \"allowed_remitters\": [\n {\n \"account_number\": \"26291800001191\",\n \"ifsc\": \"YESB0000262\"\n }\n ]\n }\n}")

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

req.Header.Add("X-Client-ID", "<api-key>")
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-Merchant-ID", "<api-key>")
req.Header.Add("X-API-Version", "<api-key>")
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://api-pacb-uat.eximpe.com/pg/vba/{virtual_account_id}/")
.header("X-Client-ID", "<api-key>")
.header("X-Client-Secret", "<api-key>")
.header("X-Merchant-ID", "<api-key>")
.header("X-API-Version", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"virtual_account_name\": \"Updated Trade Name\",\n \"remitter_lock_details\": {\n \"allowed_remitters\": [\n {\n \"account_number\": \"26291800001191\",\n \"ifsc\": \"YESB0000262\"\n }\n ]\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api-pacb-uat.eximpe.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"] = '<api-key>'
request["X-Client-Secret"] = '<api-key>'
request["X-Merchant-ID"] = '<api-key>'
request["X-API-Version"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"virtual_account_name\": \"Updated Trade Name\",\n \"remitter_lock_details\": {\n \"allowed_remitters\": [\n {\n \"account_number\": \"26291800001191\",\n \"ifsc\": \"YESB0000262\"\n }\n ]\n }\n}"

response = http.request(request)
puts response.read_body
{
  "success": true,
  "message": "VBA updated successfully",
  "data": {
    "uid": "550e8400-e29b-41d4-a716-446655440000",
    "virtual_account_id": "a1b2c3d4",
    "vba_account_name": "Updated Trade Name",
    "vba_bank_code": "UTIB",
    "vba_account_number": "12345678901234",
    "vba_ifsc": "UTIB0001234",
    "vba_status": "ACTIVE",
    "remitter_lock_details": {
      "allowed_remitters": [
        {
          "account_number": "26291800001191",
          "ifsc": "YESB0000262"
        }
      ]
    }
  }
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}
{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}

Authorizations

X-Client-ID
string
header
required

Client Application ID - Your unique application identifier used to authenticate API requests. You can find your Client ID in the Developer Settings section of the merchant dashboard.

X-Client-Secret
string
header
required

Client Secret Key - Your secret key used alongside the Client ID for secure authentication. Keep this confidential and never expose it in client-side code. Available in the Developer Settings section of the merchant dashboard.

X-Merchant-ID
string
header
required

Merchant Identifier - The unique ID for the merchant account. This is required for PSP (Payment Service Provider) merchants who manage multiple merchant accounts. You can find merchant IDs in the Merchant Management section of the dashboard.

X-API-Version
string
header
required

API Version - Specifies which version of the API to use (e.g., '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which API version your integration uses. Default version information is available in the Developer Settings.

Path Parameters

virtual_account_id
string
required

Virtual account ID of the VBA to update.

Body

application/json
virtual_account_name
string

Display name for the VBA.

remitter_lock_details
object | null

Optional. Replaces the existing remitter lock with the supplied allowed-remitters list. Same shape as Create VBA.

Response

VBA updated successfully

success
boolean
Example:

true

message
string
Example:

"VBA updated successfully"

data
object