• Select

  • Select

Virtual Accounts

Fusion currently offers PPI accounts to fintech’s real account holders (RAHs). Earlier, the only way to fund these PPI accounts was account to account (A2A) transfers.

Fusion now facilitates inward transfers using virtual account numbers for RBL. Virtual accounts are non-physical accounts. Virtual account numbers (VANs) are linked to real accounts. So any transfer to a VAN is essentially a transfer to an associated physical account. Virtual accounts are used to receive payments on behalf of the original account.

Issue VAN

Issue VAN (/van) is used to create a VAN for the account id passed in the request. This VAN can be used along with the IFSC RATN0000088 to make IMPS / NEFT transfers. After a transfer is done, it is reflected in the corresponding Fusion account (real account holder’s account/fintech’s funding account).

Endpoint URI

POST/api/v1/ifi/{ifi_Id}/van

Request parameters

  • base_url: VAN Issuance service base URL.
  • requestId: This identifier is used to identify a unique request. A unique identifier has to be passed for every new issuance request, even in the case of request failure. This will be an alphanumeric string up to 20 chars long.
  • accountId: Unique Identifier of the issued Account Product. Pass your funding account ID here if you want to create a virtual account for your funding account. In case you are looking to create a virtual account for an existing PPI account, pass the real account holder’s account ID here. For new accounts being issued using /issuebundle API, /van API need not be called separately. Issue bundle endpoint takes care of VAN issuance as well.
  • vboId: Unique identifier of fintech.
  • beneficiaryName: Name of the Account holder.

Response parameters

  • virtualAccountNumber: VAN issued for the given accountId.

Example

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request POST '<base_url>/api/v1/ifi/140793/van'\
--header 'Content-Type: application/json'\
--header 'X-Zeta-AuthToken: <auth_token>'\
--data-raw '{
    "requestId":"abc123T7",
    "accountId":"c08cd23b-9b0a-4bd1-b2fe-14c526a0864f",
    "vboId":"96100856-8c1e-4735-bb62-97f56a829580",
    "beneficiaryName":"Test AH"
}'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
{
    "data": {
        "requestId": "abc123T7",
        "accountId": "c08cd23b-9b0a-4bd1-b2fe-14c526a0864f",
        "virtualAccountNumber": "000139982333840691",
        "beneficiaryName": "Shivam Gupta"
    },
    "requestId": "abc123T7"
}
Code Copied

Note:

  1. Please note that in the event of an error response by the API. You can retry the request with the same requestId
  2. If you are trying to issue a VAN for an account for which there has been a previously failed request with a different requestId, then the previous request will be retried by the service to success. In this event, the success response will contain the request Id of the previous request.

Get All VAN Transactions

This API is to be used to get all the transactions of VANs associated with accounts of fintechs’ account-holders.

Endpoint URI

GETapi/v1/ifi/{ifi_Id}/van/vbo/{vbo_id}/transaction?startDateTime={start_date_time}&endDateTime={end_date_time}

Request parameters

  • base_url: VAN Issuance service base URL.
  • ifi_Id: Zeta’s unique identifier for IFI.
  • auth_token: Fintech’s Sandbox Auth Token.
  • vboId: Unique identifier of fintech.
  • start_date_time: start date and time from where you want to capture the data.
  • end_date_time: end date and time from where you want to capture the data.

Response parameters

  • beneficiaryAccountNumber: VAN issued for the given accountId.

Note: The format that start/end date time have to be provided in the above API is “dd-mm-yyyy hh:mm:ss” e.g. “09-05-2000 14:05:28”

Example

cURL Sample
Switch Theme
Expand More
Copy
curl --location --request GET '<base_url>/api/v1/ifi/<ifi_Id>/van/vbo/<vbo_id>/transaction?startDateTime=<start_date_time>&endDateTime=<end_date_time>' \
--header 'X-Zeta-AuthToken: <auth_token>'
Code Copied
JSON Sample
Switch Theme
Expand More
Copy
[
    {
        "utrNumber": "CMS480098102",
        "status": "COMPLETED",
        "vboId": "96100856-8c1e-4735-bb62-97f56a829580",
        "ifiId": 140793,
        "accountId": "8588b794-108e-11ec-82a8-0242ac130003",
        "paymentId": "OPS_FUND_TRANSFER_3f36313c-2413-42ae-ab41-484a193a8a87",
        "messageType": "IMPS",
        "amount": "18",
        "senderName": "",
        "senderAccountType": "Current Account",
        "senderAccountNumber": "554001010",
        "senderIFSC": "UBIN0555401",
        "beneficiaryAccountType": "Virtual Account",
        "beneficiaryAccountNumber": "000139928670776908",
        "creditDate": "2014-05-09T14:05:28",
        "creditAccountNumber": "409000005495",
        "corporateCode": "XXXXX",
        "clientCodeMaster": "00067464",
        "senderInformation": "MID 74256975 ICICI PYT 121016"
    },
    {
        "utrNumber": "CMS480098103",
        "status": "COMPLETED",
        "vboId": "96100856-8c1e-4735-bb62-97f56a829580",
        "ifiId": 140793,
        "accountId": "41bbe40e-de07-487e-b953-edf5947bb212",
        "paymentId": "OPS_FUND_TRANSFER_88da5f3e-81fa-4b96-9a0f-b9819c9c4f32",
        "messageType": "IMPS",
        "amount": "15",
        "senderName": "",
        "senderAccountType": "Current Account",
        "senderAccountNumber": "554001010",
        "senderIFSC": "UBIN0555401",
        "beneficiaryAccountType": "Virtual Account",
        "beneficiaryAccountNumber": "000139990415661099",
        "creditDate": "2014-05-09T14:05:28",
        "creditAccountNumber": "409000005495",
        "corporateCode": "XXXXX",
        "clientCodeMaster": "00067464",
        "senderInformation": "MID 74256975 ICICI PYT 121016"
    }
]
Code Copied

Related articles