Use this API to validate the given bank account number and IFSC. This is a sync verification request.
Fraud Alert
There have been cases of fraudulent activity where malicious users abuse merchants’ websites/apps by attempting penny-drop verification to the same bank account. We have implemented the necessary checks to prevent these activities in the future and block merchant accounts involved in suspicious activities. You will receive the following message if we detect any fraudulent activity:
Users attempt multiple bank account verification to the same bank account
"subCode": 200,
"accountStatus": "VALID",
"accountStatusCode": "ACCOUNT_IS_VALID",
"message": "High # transactions detected for Account Number '099878736870'"
Users use multiple virtual accounts linked to the same underlying account
"subCode": 422,
"accountStatus": "UNABLE_TO_VALIDATE",
"accountStatusCode": "INVALID_ACCOUNT",
"message": "Fraud activity detected for this account"
Users append leading zeros to bank account number
"subCode": 200,
"accountStatus": "VALID",
"accountStatusCode": "ACCOUNT_IS_VALID",
"message": "High # transactions detected for Account Number '099878736870'"
Users append leading zeros to multiple virtual accounts linked to the same underlying account
"subCode": 422,
"accountStatus": "UNABLE_TO_VALIDATE",
"accountStatusCode": "INVALID_ACCOUNT",
"message": "Fraud activity detected for this account"
Test Data
View the test data and use this information to trigger the validations. The test data are usable only in the test environments such as gamma and sandbox.
The API returns a response in two cases:
- The bank account or IFSC or both are invalid.
- The bank account and IFSC combination are verified.
Additionally, if a request is made again using the same bank account details while the previous request is being processed you will get a response stating that the request is in the process along with the refId.
To fetch the status of such a request you can use the Get Verification Status API, by passing the refId as bvRefId.
Verify Bank Account Details for Free!
You can verify your beneficiary bank account details for free using Free Credits. With this limited-time offer, experience and test the feature without paying any verification charges.
A banner displays the offer for you on the Verification Suite - Bank Account page (Verification Suite Dashboard > Verification Suite - Bank Account). Click Claim Free Credits and instantly redeem the credits to your account.
Bank account verification uses the IMPS network. Verification will return the account status as "VALID" for any valid IFSC of the bank where the account exists. The API also returns city, branch and MICR in the response. However, these are returned on the basis of the IFSC provided. It is possible that the bank account may be linked to a different IFSC in the same bank.
Note:
In a few scenarios, the nameAtBank parameter in the Bank Account Verification API did not return the exact customer name registered with the Bank. We have now fixed this issue, and you will see the exact name registered with the bank.
In some cases, for valid bank accounts if the name at the bank is not available then you will a custom message Bank Account is valid but Name at Bank is unavailable.
Sample Response:
{
“refId”: “250948",
“nameAtBank”: “”,
“bankName”: “JANATA SAHAKARI BANK LIMITED”,
“utr”: “21451863XXXX”,
“city”: “TALEGAON DABHADE”,
“branch”: “TALEGAON DABHADE”,
“micr”: 0,
“nameMatchScore”: “100”,
“accountStatus”: “VALID”,
“accountStatusCode”: “ACCOUNT_IS_VALID”,
“message”: “Bank Account is valid but Name at Bank is unavailable”
}
Click here to view the response codes.
Response Codes
Status - Success
Sub Code | Account Status | Account Status Code | Message | Bank Account | IFSC |
---|---|---|---|---|---|
200 | VALID | ACCOUNT_IS_VALID | Bank Account details verified successfully | 026291800001191 | YESB0000262 |
200 | INVALID | INVALID_BANK_ACCOUNT | Invalid account number or IFSC provided | 7766666585146 | YESB0000001 |
200 | INVALID | INVALID_IFSC | IFSC is invalid | 7766667287515 | ICIC0000001 |
200 | INVALID | ACCOUNT_BLOCKED | Account is blocked | 7766667989884 | RATN0000070 |
200 | INVALID | NRE_ACCOUNT | Given account is an NRE account | 7766667755761 | ICIC0000001 |
200 | VALID | ACCOUNT_IS_VALID | Bank Account is valid but Name at Bank is unavailable |
Status - Error
Sub Code | Account Status | Account Status Code | Message | Bank Account | IFSC | Name | Phone |
---|---|---|---|---|---|---|---|
412 | UNABLE_TO_VALIDATE | INSUFFICIENT_BALANCE | Insufficient balance to process this request | 50101329442375 | HDFC0000001 | Any name | Any phone number |
422 | UNABLE_TO_VALIDATE | INVALID_ACCOUNT | Please provide a valid bank account | Account number greater than 30 characters | Any IFSC | Any name | Any phone number |
422 | UNABLE_TO_VALIDATE | INVALID_IFSC | Please provide a valid IFSC | 341234218090 | YESB00000010 (IFSC > 11 characters) | Any name | Any phone number |
424 | UNABLE_TO_VALIDATE | SOURCE_BANK_DECLINED | Source bank declined | 7766674831270 | SBIN0000003 | Any name | Any phone number |
424 | UNABLE_TO_VALIDATE | BENEFICIARY_BANK_OFFLINE | Beneficiary Bank Offline | 7766668692253 | INDB0000018 | Any name | Any phone number |
424 | UNABLE_TO_VALIDATE | NPCI_UNAVAILABLE | NPCI Unavailable | 7766668458130 | INDB0000018 | Any name | Any phone number |
424 | UNABLE_TO_VALIDATE | IMPS_MODE_FAIL | IMPS Mode fail | 7766667521638 | ICIC0000001 | Any name | Any phone number |
424 | UNABLE_TO_VALIDATE | FAILED_AT_BANK | Failed at bank | 7766671735852 | SBIN0000004 | Any name | Any phone number |
520 | UNABLE_TO_VALIDATE | VERIFICATION_FAILED | Verification attempt | 7766667053392 | ICIC0000001 | Any name | Any phone number |
422 | UNABLE_TO_VALIDATE | INVALID_NAME | Please provide a valid Name | Any account number | Any IFSC | Name with special symbols | Any phone number |
422 | UNABLE_TO_VALIDATE | INVALID_PHONE | Please provide a valid Phone number | Any account number | Any IFSC | Any name | Phone with length greater than 12 characters. |
Name Match Feature
To manually check if the provided customer name and the name registered at the bank are the same, consumes a lot of time and effort. Cashfree Payments has introduced a new feature that will help you to verify if the names are the same and provide the result accordingly.
Two new parameters, nameMatchResult and nameMatchScore will be available in the response, which will help you make faster validations and process payments successfully. Click here to know more.
Contact your Account Manager or write to [email protected] to activate the name match score feature for your account.