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
Bank account verification and KYC process
  • Technology

Get seamless user onboarding with Zwitch Bank A/C Verification & KYC APIs

  • August 26, 2021
  • Anish Achuthan
Total
0
Shares
0
0
0

Verifying the identities & financial circumstances of your customers are vital to ensure compliance with regulations. That makes KYC, and Bank account verification processes an important step while onboarding customers.

The onboarding process is the official beginning of a direct and consensual relationship with an individual as a registered user. But onboarding new clients as a regulated company can be complex. KYC and Bank account verification during client onboarding have become increasingly complex due to firms manually processing checks.

These complex processes can result in drop-offs and unpleasant customer experiences. A seamless onboarding experience ensures that customers are happy, and it improves profitability for the business. 

So how can KYC compliance checks & bank account verification be conducted accurately, efficiently, and without overburdening already stretched teams?

Zwitch APIs help you build a single, centralized and integrated platform to onboard customers. Our APIs help address all customer onboarding compliance aspects, including bank account verification, IFSC code verification, UPI ID validation and KYC (PAN and Aadhaar verification).

Get your customer identities verified with Zwitch

Zwitch API provides you with an easy way to verify your customer identities online. A low-code integration option allows businesses to verify identities in minutes, with a fully hosted verification flow by Zwitch. 

Our plug & play solution helps you confirm your customer’s bank account validity & streamline your KYC process instantly without exposing data to a third party. 

Zwitch APIs will help you verify the following details for a completely digitized and seamless user onboarding experience:

  • Verify a bank account number,
  • Verify VPA handle or UPI ID,
  • Verify PAN holder & the PAN number, and
  • Verify Aadhaar number and the details associated with it.

Let’s look at them one by one.

Verify Bank Account

To verify the bank account of your customer, you need to pass the following parameters in the request body of our Verifications API:

  • bank_account_number – Account number to be verified
  • bank_ifsc_code – IFSC code of the account number
  • force_penny_drop – Default value will be false. If the value passed is true, then it ensures that penny drop will be done irrespective of having done before using Zwitch APIs
  • force_penny_drop_amount – Default penny drop amount would be INR 1. This amount cannot be less than INR 1 or more than INR 2.
  • merchant_reference_id – This is a unique identifier for each verification request

Take, for instance, if you are doing force penny drop, this is how the sample request header would look like:

curl --request POST \
     --url https://api.zwitch.io/v1/verifications/bank-account \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <access_key>:<secret_key>' \
     --header 'Content-Type: application/json' \
     --data '
{
     "force_penny_drop": true,
     "bank_account_number": "1173106000030660",
     "bank_ifsc_code": "IBKL0001123",
     "force_penny_drop_amount": 1,
     "merchant_reference_id": "johnaccountcheck"
}
'

If the penny drop is successful and the bank account is verified, the response body that APIs return will look like this:

{
    "id": "accver_CTidMP8jKvWGiBkuCugqnPTgC",
    "object": "bank_account_verification",
    "bank_account_number": "1173106000030660",
    "bank_ifsc_code": "IBKL0001123",
    "name_as_per_bank": "John Doe",
    "force_penny_drop": true,
    "force_penny_drop_amount": 1,
    "status": "success",
    "message": "Transaction Successful",
    "is_sandbox": false
}

Note: Our APIs check for a unique combination of bank account number and IFSC code and returns a response with account holder details only if both of them match in bank records.

Verify VPA handle or UPI ID

Using Zwitch Verification APIs, you can even verify your customer’s Virtual Payment Address (VPA) handle or UPI ID. To do so, you need to pass the following parameters in the request body:

  • vpa – VPA handle of your customer,
  • merchant_reference_id – A unique identifier for each verification request, and
  • name – You can include the name of the VPA handle user (This is optional)

This is how a sample request would look like:

curl --request POST \
     --url https://api.zwitch.io/v1/verifications/vpa \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <access_key>:<secret_key>' \
     --header 'Content-Type: application/json' \
     --data '
{
     "vpa": "9675196666@upi",
     "merchant_reference_id": "9675196666"
}
'

Once it is successfully verified, you will get a similar response body:

{
	"id": "accver_sk010221834",
	"object":"vpa_verification",
	"status" : "verified_successfully",
	"vpa":"9675196666@upi",
	"is_sandbox": false
}

Verify PAN details

Zwitch KYC APIs can help you verify the PAN number of your customer. You need to pass the following parameters in the request body:

  • pan – PAN Number to be verified,
  • merchant_reference_id – A unique identifier for each verification request, and
  • metadata – You can pass additional information like Order ID as part of the request which will be returned in the response.

Here is how a sample request body would look like:

curl --request POST \
     --url https://api.zwitch.io/v1/kycs/pan \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <access_key>:<secret_key>' \
     --header 'Content-Type: application/json' \
     --data '
{
     "pan": "ABCDE1234F",
     "merchant_reference_id": "johncheck"
}
'

Once it is successfully verified, the response body will be similar to this:

{
"id":"pan_PuuEbp7GIv3jwF3jkmY0h5lgM"
"object":"pan_verification"
"pan":"ABCDE1234F"
"name_on_pan":"JOHN DOE”
"status":"success"
"merchant_reference_id":"johncheck"
"is_sandbox":false
}

Verify Aadhaar details

Using Zwitch KYC APIs, you can perform two-factor authentication with OTP verification. Here is how it works:

Step 1: You need to pass the Aadhaar number that needs to be verified, the Name as mentioned in the Aadhaar card and the Merchant reference ID (as done above) in the request body:

curl --request POST \
     --url https://api.zwitch.io/v1/kycs/aadhaar/otp \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <access_key>:<secret_key>' \
     --header 'Content-Type: application/json' \
     --data '
{
     "aadhaar_number": "666977736205",
     "name": "John Doe",
     "merchant_reference_id": "9675196666check"
}
'

APIs will then send an OTP to the mobile number linked to the Aadhaar number and returns a similar response:

{
    "id": "adh_uDy5VlIx8k1BOUNkgCVWfIapy",
    "object": "aadhaar_verification",
    "status_message": "OTP sent to registered mobile number",
    "status": "success",
    "merchant_reference_id": "9675196666check",
    "is_sandbox": false
}

Step 2: You need to pass the OTP received on the registered mobile number & the Merchant reference ID (Same as in Step 1) in the request body:

curl --request POST \
     --url https://api.zwitch.io/v1/kycs/aadhaar/verify \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <access_key>:<secret_key>' \
     --header 'Content-Type: application/json' \
     --data '
{
     "otp": "123456",
     "merchant_reference_id": "9675196666check"
}
'

If the OTP is verified successfully, the APIs return a response body similar to what is shown below with the following details of the verified Aadhar number – Name, Date of birth, Gender, Father’s name and Address as per Aadhaar records:

{
    "id": "adh_w98sC0B8JX3NravswqJs9k9pj",
    "object": "aadhaar_verification",
    "message": "Aadhaar XML file downloaded successfully",
    "status": "success",
    "name": "John Doe",
    "date_of_birth": "1990-03-04",
    "gender": "M",
    "father_name": "John Senior",
    "address": "Address as per aadhaar records",
    "merchant_reference_id": "9675196666check",
    "is_sandbox": false
}

Transform your onboarding process with Zwitch’s Bank A/C verification & KYC APIs

The digital onboarding process is the key to increase the conversion rate and improve the user experience. And at the same time, it meets the strictest regulation & drastically reduces costs, boosts productivity and eliminates barriers and waiting times.

Zwitch’s comprehensive & secure APIs helps you transform your onboarding process to make it a seamless experience for your customers.

To learn more about our Verifications and KYC APIs, read our documentation here.

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
Virtual accounts for payments collection and reconciliation
  • Technology

Virtual Accounts for collection & reconciliation of payments

  • August 17, 2021
  • Anish Achuthan
Read More
Next Article
Automated payouts using Transfers API
  • Technology

Getting started with Zwitch Transfers API

  • September 7, 2021
  • Anish Achuthan
Read More
You May Also Like
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
wire transfer
Read More
  • Technology

What is a Wire Transfer, & How Does it Work?

  • Fathima Firose
  • February 21, 2025
types of electronic payment systems
Read More
  • Technology

Types of Electronic Payment Systems: Key Advantages & Disadvantages

  • Fathima Firose
  • February 20, 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.