Object

Overview of the account.virtual object.

Shown below is a sample account.virtual object for transfer wallets, collection wallets, and collection tools.

{
    "id": "va_sXgp20wd2xRKlR9b4lxNoM7bg",
    "object": "account.virtual",
    "type": "virtual",
    "used_as": "wallet",
    "bank_name": "idfc_bank",
    "name": "Anil Reddy",
    "mobile_number": "9876543210",
    "email": "anil.reddy@example.com",
    "account_number": "7979791596476127",
    "ifsc_code": "IDFB0040101",
    "vpa": null,
    "additional_vpa": [],
    "whitelisted_remitters": [],
    "whitelisted_beneficiaries": [],
    "kyc": {
        "city": null,
        "postal_code": null,
        "state_code": null,
        "pan": null,
        "business_type": null,
        "business_category": null,
        "contact_person": null,
        "pan_verification_id": null
    },
    "customer": {
        "id": "cus_NRH3a9R5sbGp3wqC77FSs4dvE",
        "mobile_number": "9876543210"
    },
    "metadata": {
        "key_1": "DD",
        "key_2": "XOF"
    },
    "status": "full_kyc_pending",
    "created_at": 1738747279,
    "is_sandbox": true,
    "settlement_account_id": null,
    "verified_beneficiaries": [],
    "verified_remitters": []
}
{
  "id": "va_RcochEXjFd4TJunK0soMrmoos",
  "object": "account.virtual",
  "type": "virtual",
  "used_as": "wallet",
  "bank_name": "yes_bank",
  "name": "Anil Reddy",
  "mobile_number": "9876543211",
  "email": "anil.reddy@example.com",
  "account_number": "3636365848485530",
  "ifsc_code": "YESB0CMSNOC",
  "vpa": "zwch1888959688@yesbank",
  "additional_vpa": [],
  "whitelisted_remitters": [],
  "verified_remitters": [],
  "whitelisted_beneficiaries": [
    {
      "account_number": "91021021021012",
      "ifsc_code": "ICIC0666666",
      "vpa": null
    }
  ],
  "verified_beneficiaries": [
    {
      "account_verification_id": "accver_TgrkSdJB2ndBohTtDAk59Mejy",
      "name_match_id": "nm_4jYmA7VdMPdNkL7FB4kSaAGwp"
    }
  ],
  "kyc": {
    "city": "Bangalore",
    "postal_code": "560005",
    "state_code": "KA",
    "pan": "XXXXXX000A",
    "pan_verification_id": "pan_AZ90Odskksjkhfkshkks",
    "business_type": "partnership",
    "business_category": "garage_owners",
    "contact_person": "Anil Reddy"
  },
  "customer": {
    "id": "cus_9AZ0Od3RcJLS3PzEtZyqGyL42",
    "mobile_number": "9876543211"
  },
  "metadata": {
    "key_1": "DD",
    "key_2": "XOF"
  },
  "status": "active",
  "created_at": 1681113234,
  "is_sandbox": true,
  "settlement_account_id": null
}
{
  "id": "va_u6b8LmK8EKEFaegcUKOLravtd",
  "object": "account.virtual",
  "type": "virtual",
  "used_as": "collection_tool",
  "bank_name": "yes_bank",
  "name": "Anil Reddy",
  "mobile_number": "9876543212",
  "email": "anil.reddy@example.com",
  "account_number": "3636365909197251",
  "ifsc_code": "YESB0CMSNOC",
  "vpa": "zwch784698093@yesbank",
  "additional_vpa": [],
  "whitelisted_remitters": [
    {
      "account_number": "9890987654321",
      "ifsc_code": "HDFC0000123"
    }
  ],
  "whitelisted_beneficiaries": [],
  "kyc": {
    "city": "Bangalore",
    "postal_code": "560010",
    "state_code": "KA",
    "pan": "XXXXXX000F",
    "pan_verification_id": "pan_AZ90Odskksjkhfkshkks",
    "business_type": "partnership",
    "business_category": "garage_owners",
    "contact_person": "Sunil"
  },
  "customer": {
    "id": "cus_sCoO4JTuJgfaMkgxNP54PH81I",
    "mobile_number": "9876543212"
  },
  "metadata": {
    "key_1": "DD",
    "key_2": "XOF"
  },
  "status": "active",
  "created_at": 1653995905,
  "is_sandbox": true,
  "settlement_account_id": ""
}

The table below lists the various parameters in the virtual account object.

ParametersTypeDescription
idstringUnique identifier of the virtual account in the ZWITCH database.

Has to be 28 characters.

Example: va_Y6evcApKFXhQ9X7qKQ5AaysEI

Supported characters:
- A-Z
- a-z
- 0-9
objectstringAPI object that is returned.

Possible value: account.virtual
typestringThe account type.

Possible value: virtual
used_asstringType of virtual account.

Possible values:
- wallet
- collection_tool
bank_namestringBank where the virtual account is created.

Possible value:
- yes_bank
-idfc_bank
namestringApplicant's name.

Maximum 70 characters.

Example: Anil Reddy

Supported characters:
- A-Z
- a-z
- 0-9
- .
- /
- \
- -
- _
- ,
- (
- )
- '
mobile_numberstringApplicant's mobile number.

Has to be 10 digits.

Example: 9876543210

Supported characters:
- 0-9
emailstringApplicant's email address.

Example: anil.reddy@example.com
account_numberstringVirtual account number.

Maximum 30 characters.

Example: 18539873916

Supported characters:
- A-Z
- a-z
- 0-9
ifsc_codestringVirtual account IFSC.

Has to be 11 characters.

Example: STCB0000065

Supported characters:
- A-Z
- 0-9
vpastringVirtual payment address (VPA) linked to the virtual account.

additional_vpaarray of objectsYou can create additional VPAs for Yes Bank virtual accounts only.

An array of objects that contain a list of additional VPA handles linked to the virtual account and the status of each VPA handle.

You can create additional VPAs using the Update Virtual Account API.

Learn more about the additional_vpa child object.
whitelisted_remittersarray of objectsAn array of objects that contain a list of accounts from which the virtual account holder wants to receive money.

Currently, only bank accounts can be whitelisted.

Note: On February 29, we will eliminate whitelisted_remitters array of objects.

Learn more about the whitelisted_remitters child object.
verified_remittersarray of objectsAn array of objects that contains the list of the remitter's bank account verification ID and name verification ID.

Note:
- Use our Bank Account Verification API to verify the list of whitelisted remitter's account details and to generate the account_verification_id.
- Use our Name Verification - PAN vs Account Verification API to verify the applicant's name and to generate the name_match_id.

Learn more about the verified_remitters child object.
whitelisted_beneficiariesarray of objectsAn array of objects contains a list of beneficiaries to which the virtual account wants to send money.

Note: On February 29, we will eliminate whitelisted_beneficiaries array of objects.

Learn more about the whitelisted_beneficiaries child object.
verified_beneficiariesarray of objectsAn array of objects that contains the list of the beneficiary's bank account verification ID and name verification ID.

Note:
- Use our Bank Account Verification API to verify the list of whitelisted beneficiary account details and to generate the account_verification_id.
- Use our Name Verification - PAN vs Account Verification API to verify the applicant's name and to generate the name_match_id.

Learn more about the verified_beneficiaries child object.
kycobjectObject that contains the applicant's KYC details.

Learn more about the kyc child object.
customerobjectJSON object that contains details about the account holder.

Learn more about the customer child object.
metadataobjectObject of key-value pair that can be used to store additional information about the entity.

Note:
- Maximum 5 key-value pairs.
- Maximum 256 characters in the metadata object.
- You cannot pass a URL.
- You cannot use \
statusstringPossible values:
- vpa_creation_pending: Only for Yes Bank Virtual accounts. The virtual account has been successfully created and the account number and account IFSC have been issued.
However, the VPA handle for the account has not yet been activated by the bank.
A virtual account goes to this status only if the create_vpa parameter is set to true.
- active: Virtual account has been successfully created with an account number, IFSC, and VPA.
- deactivated: Account has been deactivated.
created_atintegerUnix timestamp when the create virtual account request was received by ZWITCH.

Example: 1640179951
is_sandboxbooleanPossible values:
- true: API was triggered in sandbox mode
- false: API was triggered in live mode
settlement_account_idstringShould only be used when creating a collection tool account

The unique identifier of the ZWITCH virtual account is used as a wallet.

Note: The status of the account should be active.

Has to be 28 characters.

Example: va_UXjVUZdUuWpRezxRmuwQt4Vw0

Supported characters:

  • A-Z
  • a-z
  • 0-9
  • _

[Child Object] Additional VPA

ParametersTypeDescription
vpastringAdditional virtual payment address (VPA) linked to the virtual account.

Example: zwch1110526721@yesbank

You can create additional VPAs using the Update Virtual Account API.
statusstringStatus of the additional VPA handle.

Possible values:
- vpa_creation_pending: The additional VPA handle has not yet been activated by the bank.
- active: Additional VPA handle has been created and has been activated by the bank. The additional VPA handle is fully functional and ready to be used.
created_atintegerUnix timestamp when the create additional VPA handle request was received by ZWITCH.

Example: 1640179951

[Child Object] Whitelisted Remitters

ParametersTypeDescription
account_numberstringAccount number from which the virtual account holder wants to receive money.

Maximum 30 characters.

Example: 18539873916

Supported characters:
- A-Z
- a-z
- 0-9
ifsc_codestringIFSC linked to the account from which the virtual account holder wants to receive money.

Has to be 11 characters.

Example: AAAA0000001

Supported characters:
- A-Z
- 0-9

[Child Object] Verified Remitters

ParametersTypeDescription
account_verification_idstringUnique identifier of the account verification transaction in the ZWITCH database.

Note:
- Use the applicant's physical account details to verify and generate the account verification ID.
- You can load funds only from this verified account to your virtual account.

Has to be 32 characters.

Example: accver_Qs93rRv6Vq4EIVzKurII849yj

Supported characters:
- A-Z
- a-z
- 0-9
- _
name_match_idstringUnique identifier of the name verification request in the ZWITCH database.

Note: The Name Match is against the applicant's bank account name with the name as per the applicant's PAN.

Has to be 18 characters.

Example: nm_mNSvW8MNF1nmUdY

Supported characters:
- A-Z
- a-z
- 0-9
- _

[Child Object] Whitelisted Beneficiaries

ParametersTypeDescription
account_numberstringAccount number to which the virtual account holder wants to send money.

Maximum 30 characters.

Example: 18539873916

Supported characters:
- A-Z
- a-z
- 0-9
ifsc_codestringIFSC linked to the account to which the virtual account holder wants to send money.

Has to be 11 characters.

Example: AAAA0000001

Supported characters:
- A-Z
- 0-9
vpastringVirtual payment number (VPA) of the account.

Example: zwch1405319881@yesbank

[Child Object] Verified Beneficiaries

ParametersTypeDescription
account_verification_idstringUnique identifier of the account verification transaction in the ZWITCH database.

Note:
- Use the applicant's physical account details to verify and generate the account verification ID.
- You can only use this verified account to withdraw funds from your virtual account.

Has to be 32 characters.

Example: accver_Qs93rRv6Vq4EIVzKurII849yj

Supported characters:
- A-Z
- a-z
- 0-9
- _
name_match_idstringUnique identifier of the name verification request in the ZWITCH database.

Note: The Name Match is against the applicant's bank account name with the name as per the applicant's PAN.

Has to be 18 characters.

Example: nm_mNSvW8MNF1nmUdY

Supported characters:
- A-Z
- a-z
- 0-9
- _

[Child Object] KYC

ParametersTypeDescription
citystringAccount holder's city.

Example: Bangalore

Supported characters:
- A-Z
- a-z
- 0-9
- space
- _
- ()
- .
postal_codestringAccount holder's postal code.

Has to be 6 digits.

Example: 560005

Supported characters:
- 0-9
state_codestringApplicant's state code.

Use the State Codes API to get a list of accepted values.

Example: KA
pan_verification_idstringA unique identifier obtained when you digitally verify the applicant's PAN.

Use the PAN Verification API to verify the applicant's PAN digitally.

Has to be 29 characters.

Example: pan_SYkpuiAbXC9ZHUmf2YuYFvGW1

Supported characters:
- A-Z
- a-z
- 0-9
- _
panstringApplicant's PAN number.

Has to be 10 characters.

Example: AAAPA0000A

Supported characters:
- A-Z
- 0-9
business_typestringThe business type for the virtual account.

Use the Business Types API to get a list of accepted values.

Example: partnership
business_categorystringThe business category for the virtual account.

Use the Business Categories API to get a list of accepted values.

Example: garage_owners
contact_personstringContact person's name for the virtual account.

Maximum 70 characters.

Example: Anil Reddy

Supported characters:
- A-Z
- a-z
- 0-9
- .
- /
- \
- -
- _
- ,
- (
- )
- '

[Child Object] Customer

ParametersTypeDescription
idstringUnique identifier of the applicant in the ZWITCH database.

Has to be 29 characters.

Example: cus_lmPl9XliJ09yisvcWKrff2WCR

Supported characters:
- A-Z
- a-z
- 0-9
- _
mobile_numberstringMobile number of the applicant or registered business.

Has to be 10 digits.

Example: 9876543210

Supported characters:
- 0-9