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.

Discussion
have sample to test the upi validation?

4

1