How to verify a 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.
4
