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
Request parameters
base_url
: VAN Issuance service base URL.- Preprod environment: https://fusion.preprod.zeta.in
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 --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"
}'
{
"data": {
"requestId": "abc123T7",
"accountId": "c08cd23b-9b0a-4bd1-b2fe-14c526a0864f",
"virtualAccountNumber": "000139982333840691",
"beneficiaryName": "Shivam Gupta"
},
"requestId": "abc123T7"
}
Note:
- Please note that in the event of an error response by the API. You can retry the request with the same requestId
- 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
Request parameters
base_url
: VAN Issuance service base URL.- Preprod environment: https://fusion.preprod.zeta.in
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 --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>'
[
{
"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"
}
]
Related articles