Zwitch
  • Embedded Finance
  • Perspective
  • Technology
  • Compliance
  • Security
Zwitch
Home Payment Gateway Payouts Zwitch Bill Connect API Marketplace
Zwitch Zwitch Zwitch
  • Embedded Finance
  • Perspective
  • Technology
  • Compliance
  • Security
Virtual Account APIs
  • Technology

Getting started with Virtual Accounts API

  • July 22, 2021
  • Anish Achuthan
Total
0
Shares
0
0
0

Virtual accounts are a trending topic among corporate treasurers, but what are they, and how have they evolved to improve business finances? 

Virtual accounts are non-physical accounts that have the same features as a standard bank account. Also known as ‘shadow accounts’, they don’t come with the workload and costs associated with traditional bank accounts. 

Every virtual account is unique. That makes it easier and faster for businesses to identify who made each transaction. Furthermore, virtual accounts give companies the ability to reconcile payments in real-time.

In this article, we will dive deep into the different types of virtual accounts, use cases, and details of how it works.

Virtual Accounts APIs from Zwitch

Zwitch allows you to create unique virtual accounts for your customers on-demand and collect payments via NEFT, RTGS, IMPS and UPI. Since virtual accounts give you details of customers, the amount they paid, and at the time – instantly, they can help you with payment reconciliation. 

Zwitch Virtual account APIs send you an instant call-back notification as soon as the payment is received, along with the complete details of the remitter. This information helps you capture and understand the source of the payments in real-time.

You can compare Virtual accounts to a payment gateway. A payment gateway is used primarily for one-time transactions or purchases. It might be expensive as approximately 1 to 2% of the transaction value goes as transaction/platform fees to the payment gateway provider. On the other hand, you can use virtual accounts for one-time payments, and recurring payments (such as a wallet) and the charges are minimal compared to a payment gateway. 

In case you are wondering, will virtual accounts replace a payment gateway? Yes, it will in the coming years.

Virtual Account Number Structure

When you create a Virtual account using Zwitch APIs, our banking partner (YES Bank) automatically generates a 28-digit primary Virtual Account Number (VAN) with an IFSC code. If you have a business, you can use VAN to send money to a virtual account (customer, vendor, etc.) or collect money from any virtual account. 

For ease of reconciliation, we have divided the VAN generated with Zwitch into three parts. The first six digits of VAN denote that it belongs to Zwitch. The following seven digits are for the merchant onboarded on Zwitch (say Swiggy, Zomato, etc.), and the next 15 digits are for the merchant’s customer/user/supplier, etc.

For example, let’s say our APIs generated a virtual account number as 3636360000003000000000000056. In this case, 363636 denotes that it is from Zwitch, 0000003 represents the merchant and 000000000000056 represents the customer/user/supplier, etc.

Virtual Account Number explanation | Zwitch

Benefits of creating a Virtual Account using Zwitch

Virtual accounts from Zwitch offer several significant practical advantages:

  • You can open virtual accounts for your customers/suppliers using Zwitch on the fly.
  • There is no KYC requirement for your customer. Virtual Accounts will ride on the KYC of your primary Savings or Current Account.
  • Virtual Accounts created using our APIs doesn’t have any expiry date. It doesn’t have any maintenance/annual fee or any virtual account-to-virtual account transfer fee.
  • Zwitch’s virtual accounts support NEFT/RTGS/IMPS/UPI transactions.
  • There is no restriction on money transfer or collections except the usual UPI based restrictions.
  • You can build your algorithms on money moving in & out of the virtual accounts of your customers.
  • You can auto-trigger money flowing into these virtual accounts to your primary bank account.
  • You can provide spend capabilities to your customer with co-branded virtual cards or VPA on top of the virtual accounts you create.

Types of Virtual Accounts using Zwitch APIs

You can create different types of virtual accounts using our APIs depending on your use case. There are two main use-cases for virtual accounts. They are:

1. Virtual Account as a Wallet

When you use a virtual account as a wallet, the customer can load the money to its virtual account via NEFT/RTGS/IMPS/UPI & use it to do transactions on the website. The merchants can use these wallets to transfer refunds to their customers instead of transferring them to their primary bank account.


Let’s consider an example. Say you own an e-commerce store or run an online flight/bus ticketing company. You can create virtual accounts with the type wallet for your customers to load money and make payments on your website. The balance amount (if any) from any transaction will remain in the customer’s wallet, which they can use for future transactions. If the customer cancels the order/booking, you can refund the amount directly to the customer’s wallet.


Note: When you create a virtual account as a type wallet, you WILL NOT be able to transfer money to your primary virtual account from your customer’s virtual account.

2. Virtual Account for Collecting payments

In this case, the customer can load money to their virtual account via NEFT/RTGS/IMPS, which can be programmatically transferred to the merchant’s primary virtual account. The virtual account created as a collection_tool is used as a collection medium and enables you to move these funds to any bank account using the Transfers API.


Let’s consider an example. Say you own an NBFC and collect EMI payments from customers through bank transfers by sharing your current account number. You’ll have to rely on the bank account statement to reconcile the transaction. Most of the time, bank account statements don’t provide remitter information which makes the reconciliation difficult.

Here, you can use virtual accounts as a collection_tool for all your customers. Customers can transfer money through NEFT/RTGS/IMPS/UPI to a virtual account number. Zwitch then sends a webhook with the payment and remitter information to your configured webhook URL, notifying you about the incoming payment. All the amount collected will be accumulated in your primary virtual account number, and you can then transfer it to any bank account using our Transfers API.

Virtual Account Modes

A Virtual Payment Address (VPA) is a unique identifier that helps UPI track a person’s account. It acts as an ID independent of your bank account number and other details. VPA can be used to make and request payments through a UPI-enabled app. You need not fill in your bank account details repeatedly for making multiple payments. Whether you are creating virtual accounts as collection_tool or wallet, Zwitch allows you to create virtual accounts with two modes:

Virtual Account without VPA

In this mode, API generates the virtual account number and IFSC code without a VPA handle for your customers. Customers need to add the virtual account number as a beneficiary in their net banking account and make an online transfer or enter complete account details in their UPI app (if the app allows).

Virtual Account with VPA

In this mode, the API generates a VPA or Virtual UPI ID along with a virtual account number and IFSC code. This is a dynamically generated UPI ID for each customer to add money to using any UPI app – such as Google Pay, PhonePe, PayTM etc.

Virtual Account as a Wallet

In some cases, Virtual Accounts as an interoperable wallet might suit better. Let’s understand in detail the API for creating virtual accounts as a wallet. You need to pass the following mandatory parameters in request to our APIs:

  • Customer Name as name
  • Customer Email-id as email
  • Customer Mobile Number as mobile_number

Now, there are two more parameters, which will remain constant if you are creating a Virtual Account as a wallet:

  • type with value as virtual
  • used_as with value as wallet

You can create a Virtual Payment Address (VPA) and a virtual account or just generate a Virtual Account Number and IFSC code, as per your choice. Ideally, it is advisable to generate VPA along with the virtual account number and IFSC Code. This will help users load money in their VA from their bank account easily using any UPI app like Google Pay, PhonePe, etc. Many businesses these days convert VPA into a QR Code on the fly to improve customer experience. If you chose to create VPA/UPI ID for your customer then, you need to add the following additional parameters in the request headers of our APIs:

  • state_code with value as KA for Karnataka, KL for Kerala, DL for Delhi, etc.
  • city
  • pan
  • postal_code
  • business_type with value as an individual for Individual, public-or-private-limited for Public/Private Limited
  • business_category with value as agri_business for Agri-Business, banking_or_financial_services for Banking / Financial Services, etc.

You’ll find the complete details for state_code, business_type and business_category here.

Here is a sample request header for creating a virtual account as a wallet with VPA/UPI ID:

curl --request POST \
     --url https://api.zwitch.io/v1/accounts \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <access_key>:<secret_key>' \
     --header 'Content-Type: application/json' \
     --data '
{
     "type": "virtual",
     "create_vpa": true,
     "kyc": {
          "state_code": "KA",
          "city": "Bengaluru",
          "pan": "ABCDE1234F",
          "postal_code": 560010,
          "business_type": "individual",
          "business_category": "banking_or_financial_services"
 },
     "name": "John Doe",
     "email": "[email protected]",
     "mobile_number": "9675196666",
     "used_as": "wallet"
}'

Note: All Zwitch API calls require an Authorization header to be passed in the format ACCESS_KEY:SECRET_KEY. Make sure to replace <access_key> and <secret_key> with the actual access and secret key you will find in your Zwitch.io Sandbox Dashboard.

Here is a sample response header after the request for creating a virtual account as a wallet with VPA/UPI ID is completed:

The use cases discussed above are just the tip of the iceberg of what Zwitch APIs can do to transform your business. Integrating Virtual Account APIs from Zwitch is an essential step towards improving your relationship with customers by introducing a distinctively new proposition like a wallet. Want to know more? Go ahead and explore our APIs.

Total
0
Shares
Share 0
Share 0
Tweet 0

Tell Us What You're Building

Got a cool use case? We’d love to hear how you're planning to use Zwitch. It takes less than a minute — and helps us tailor better tools (or even a personalized walkthrough) just for you.

Anish Achuthan

Previous Article
Image shows API economy
  • Technology

API Economy in Financial Services

  • July 14, 2021
  • Anish Achuthan
Read More
Next Article
Payouts to vendors, customers or employees
  • Product

Automate payouts for your business needs with Zwitch

  • July 23, 2021
  • Anish Achuthan
Read More
You May Also Like
contactless payment
Read More
  • Technology

Contactless Payments: Touch to Pay? Here’s What It Is

  • Fathima Firose
  • May 15, 2025
what is click to pay
Read More
  • Technology

What Is Click to Pay & How Does It Work?

  • Fathima Firose
  • May 9, 2025
payment gateway india, payment gateway for website, instant payment gateway, multi-currency payments, cross-border payments, international transactions, online payments, global business, currency conversion, Zwitch APIs
Read More
  • Technology

What Is a Multi-Currency Payment Gateway? All You Need to Know

  • Ram Prasad Dutt
  • April 22, 2025
card payment api
Read More
  • Technology

How Credit Card Payments Work: A Step-by-Step Guide

  • Fathima Firose
  • April 22, 2025
UPI Circle - What it is, advantages & real-world use cases
Read More
  • Technology

UPI Circle: The Easiest Way to Split Bills & Share Money in Groups

  • Ram Prasad Dutt
  • March 27, 2025
right success metrics for a payment gateway
Read More
  • Compliance
  • Security
  • Technology

What are the Right Success Metrics for a Payment Gateway

  • Fathima Firose
  • March 24, 2025
B2B Payment Methods
Read More
  • Perspective
  • Technology

7 Ways Digital Payments Can Help Small Businesses Save Money

  • Rythwik Mahesh
  • March 14, 2025
How to Improve Your Business Payout Process: A Complete Guide
Read More
  • Technology
  • Embedded Finance

POS (Point of Sale) – Meaning, Types and Key Benefits

  • Marketing Team
  • February 25, 2025

Smart Products Start with Smarter Reads

Join our newsletter to stay ahead on embedded finance, digital payments, and the tech behind it all.

Explore Zwitch Products

Payouts

Automate instant payouts to vendors, users, or employees.

Learn more →
API Marketplace

Plug-and-play APIs for KYC, collections, and more.

Explore APIs →
Payment Gateway

Accept payments with UPI, cards, wallets, and more.

Start collecting →
Zwitch Bill Connect

Automate bill payments and vendor reconciliation from your ERP.

Check it out →

Products

  • Payouts
  • API Marketplace
  • Payment Gateway
  • Zwitch Bill Connect

Connect

  • Twitter
  • LinkedIn
  • Facebook
  • Instagram
Zwitch Logo
Open Financial Technologies Pvt Ltd
3rd Floor, Tower 2, RGA Techpark,
Marathahalli - Sarjapur Rd,
Carmelaram, Bengaluru, Karnataka - 560035

[email protected]
All rights reserved. © 2025. Open Financial Technologies Private Limited

Input your search keywords and press Enter.