Manage Virtual Accounts used as Transfer Wallets

Learn how you can update and deactivate a virtual account.

Listed below are the various options available to manage virtual accounts.

  • Update Account: Update account information.

  • Deactivate Account: Instantly deactivate a virtual account.

Update Account

After creating a virtual account used as a transfer wallet, you can update the information listed below using the Update Virtual Account API.

  • Update Verified remitters.
  • Account holder's email address.
  • Metadata

Update Verified Remitters

First, to update verified remitters, please utilize our Verification Suite APIs. These APIs help to confirm your bank account details and verify your name.

Use the following API to verify your bank account details and verify your name:

  1. Bank Account Verification API
  2. PAN Verification API
  3. Name Verification - PAN vs Account Verification API

๐Ÿ“˜

Note:

Virtual Accounts without verified remitters linked to their accounts can only update verified remitters.

Update Email Address

To update the email address linked to an account, pass the new email address against the email parameter.

Endpoint

Use the below endpoint to update information linked to a virtual account.

POST: https://api.zwitch.io/v1/accounts/{account_id}

Sample Code

Below is a sample request and response for the Update Virtual Account API.

{
  "create_vpa": true,
  "kyc": {
    "state_code": "KA",
    "city": "Bangalore",
    "pan": "AAAPA0000A",
    "pan_verification_id": "pan_r2cBKOyB6PHvpknksQnsE3Dmf",
    "postal_code": 560010,
    "business_type": "partnership",
    "business_category": "garage_owners"
  },
  "email": "[email protected]",
  "verified_remitters": [
    {
      "account_verification_id": "accver_gPRuPTJwraFeJSLtMHvY7YdXo",
      "name_match_id": "nm_ZSTga677dDHYwRH15r1M55z38"
    }
  ]
}
{
  "id": "va_VTNxiFQ5nVt1UPOB6k643mk4G",
  "object": "account.virtual",
  "type": "virtual",
  "used_as": "wallet",
  "bank_name": "axis_bank",
  "name": "Anil Reddy",
  "mobile_number": "9876543210",
  "email": "[email protected]",
  "account_number": "95151856250408",
  "ifsc_code": "UTIB0CCH274",
  "vpa": null,
  "additional_vpa": [],
  "whitelisted_remitters": [
    {
      "account_number": "91021021021212",
      "ifsc_code": "ICIC0000001"
    }
  ],
  "whitelisted_beneficiaries": [],
  "kyc": {
    "city": "Bangalore",
    "postal_code": "560010",
    "state_code": "KA",
    "pan": "XXXXXX000A",
    "business_type": "partnership",
    "business_category": "garage_owners",
    "contact_person": null,
    "pan_verification_id": "pan_r2cBKOyB6PHvpknksQnsE3Dmf"
  },
  "customer": {
    "id": "cus_OGOuL7NxzlUj27ECK6T6E0xCR",
    "mobile_number": "9876543210"
  },
  "metadata": {
    "key_1": "DD+Cheque",
    "key_2": "MSF"
  },
  "status": "active",
  "created_at": 1707736918,
  "is_sandbox": true,
  "settlement_account_id": null,
  "verified_remitters": [
    {
      "account_verification_id": "accver_gPRuPTJwraFeJSLtMHvY7YdXo",
      "name_match_id": "nm_ZSTga677dDHYwRH15r1M55z38"
    }
  ],
  "verified_beneficiaries": []
}

Refer to the Update Virtual Account API documentation for more information.

Deactivate Account

The Deactivate Account API allows you to instantly deactivate an account. Accounts can be deactivated after they have served their purpose. This prevents misuse of the account and ensures the account is only used for the intended purpose. This makes accounting and account reconciliation easier. An account can also be deactivated if any suspicious activity is detected on the account.

Once an account is deactivated, it cannot be used to make transfers.

๐Ÿ“˜

Note

  • Once a virtual account is deactivated it cannot be reactivated.

  • Only virtual accounts with zero balance can be deactivated.

Endpoint

Use the below endpoint to deactivate a virtual account.

POST: https://api.zwitch.io/v1/accounts/{account_id}/deactivate

Sample Code

Below is a sample response for the Deactivate Account API.

{
  "id": "va_VTNxiFQ5nVt1UPOB6k643mk4G",
  "object": "account.virtual",
  "type": "virtual",
  "used_as": "wallet",
  "bank_name": "axis_bank",
  "name": "Anil Reddy",
  "mobile_number": "9876543210",
  "email": "[email protected]",
  "account_number": "95151856250408",
  "ifsc_code": "UTIB0CCH274",
  "vpa": null,
  "additional_vpa": [],
  "whitelisted_remitters": [
    {
      "account_number": "012920022013",
      "ifsc_code": "ICIC0000001",
    }
  ],
  "whitelisted_beneficiaries": [],
  "kyc": {
    "city": "Bangalore",
    "postal_code": "560010",
    "state_code": "KA",
    "pan": "XXXXXX000A",
    "business_type": "partnership",
    "business_category": "garage_owners",
    "contact_person": null,
    "pan_verification_id": "pan_r2cBKOyB6PHvpknksQnsE3Dmf"
  },
  "customer": {
    "id": "cus_OGOuL7NxzlUj27ECK6T6E0xCR",
    "mobile_number": "9876543210"
  },
  "metadata": {
    "key_1": "DD+Cheque",
    "key_2": "MSF"
  },
  "status": "deactivated",
  "created_at": 1707736918,
  "is_sandbox": true,
  "settlement_account_id": null,
  "verified_beneficiaries": [
    {
      "account_verification_id": "accver_gPRuPTJwraFeJSLtMHvY7YdXo",
      "name_match_id": "nm_ZSTga677dDHYwRH15r1M55z38"
    }
  ],
  "verified_remitters": []
}

Refer to the Deactivate Virtual Account API documentation for more information.