Manage Virtual Accounts

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, you can update the information listed below using the Update Virtual Account API.

  • Create additional VPA handled for the account.
  • Verified remitters.
  • Verified beneficiaries.
  • Account holder's email address.
  • Metadata

Create Additional VPA Handles

To create additional VPA handles, pass true against the create_vpa parameter in the request body.

When you do this, we autogenerate an additional VPA for the account.

πŸ“˜

Note

  • You can create a maximum of 3 additional VPA handles for an account.
  • You cannot deactivate individual VPA handles. To deactivate a VPA handle, deactivate the account. This deactivates all VPA handles linked to the account.

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 Verified Beneficiaries

First, to update verified beneficiaries, 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 linked verified beneficiaries can only update the verified beneficiaries.

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 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]",
  "whitelisted_beneficiaries": [
    {
      "account_number": "91021021021212",
      "ifsc_code": "ICIC0000001"
    }
  ]
}
{
  "id": "va_VTNxiFQ5nVt1UPOB6k643mk4G",
  "object": "account.virtual",
  "type": "virtual",
  "used_as": "wallet",
  "bank_name": "yes_bank",
  "name": "Anil Reddy",
  "mobile_number": "9876543210",
  "email": "[email protected]",
  "account_number": "36363651511821672",
  "ifsc_code": "YESB0CMSNOC",
  "vpa": "zwch1835238750@yesbank",
  "additional_vpa": [
    {
      "vpa": "zwch1469486732@yesbank",
      "status": "active",
      "created_at": 1707736926
    }
  ],
  "whitelisted_remitters": [],
  "whitelisted_beneficiaries": [
    {
      "account_number": "91021021021212",
      "ifsc_code": "ICIC0000001",
      "vpa": null
    }
  ],
  "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_4ldHmQ4h8YU2bTnVF7tZ8GAJu"
  },
  "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_beneficiaries": [
    {
      "account_verification_id": "accver_gPRuPTJwraFeJSLtMHvY7YdXo",
      "name_match_id": "nm_ZSTga677dDHYwRH15r1M55z38"
    }
  ],
  "verified_remitters": []
}

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 or receive payments.

πŸ“˜

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 wallet.

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": "yes_bank",
  "name": "Anil Reddy",
  "mobile_number": "9876543210",
  "email": "[email protected]",
  "account_number": "36363651511821672",
  "ifsc_code": "YESB0CMSNOC",
  "vpa": "zwch1835238750@yesbank",
  "additional_vpa": [
    {
      "vpa": "zwch1469486732@yesbank",
      "status": "deactivated",
      "created_at": 1707736926
    }
  ],
  "whitelisted_remitters": [],
  "whitelisted_beneficiaries": [
    {
      "account_number": "012920022013",
      "ifsc_code": "ICIC0000001",
      "vpa": null
    }
  ],
  "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_4ldHmQ4h8YU2bTnVF7tZ8GAJu"
  },
  "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.