Bank account number verification service which returns the name of the bank account holder by inputting bank account number and IFSC. Works for all IMPS & UPI enabled banks.
Header Parameters
Name | Type | Description | Mandatory (M) , Optional (O) | Provided by INSTANTPAY (Y/N) |
---|---|---|---|---|
X-Ipay-Auth-Code | String | Auth Code -1 (Fixed) | M | Y |
X-Ipay-Client-Id | String | Unique Client ID | M | Y |
X-Ipay-Client-Secret | String | Unique secret key | M | Y |
X-Ipay-Endpoint-Ip | String | Unique secret key | M | N |
Request Parameters
Name | Type | Mandatory (M) , Optional (O) | Description |
---|---|---|---|
payee.name | String | O | Enter the Beneficary name If you want to Validate whether it is matching with name registered at bank or not. |
payee.accountNumber | String | M | Account Number of End User |
payee.bankIfsc | String | M | IFS Code of Bank |
externalRef | String | M | Your Unique Transaction Id |
consent | String | M | It will be Y always |
pennyDrop | String | M | It will be YES,NO or AUTO |
latitude | String | M | End Customer Latitude, Represented in degrees with 4 digits after decimal |
longitude | String | M | End Customer Longitude, Represented in degrees with 4 digits after decimal |
Sample Request for Bank Account Verification
curl --location --request POST 'https://api.instantpay.in/identity/verifyBankAccount' \
--header 'X-Ipay-Auth-Code: {{authCode}}' \
--header 'X-Ipay-Client-Id: {{clientId}}' \
--header 'X-Ipay-Client-Secret: {{clientSecret}}' \
--header 'X-Ipay-Endpoint-Ip: {{endPointIP}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"payee" : {
"name" : "Instantpay India",
"accountNumber" : "7770007428585742",
"bankIfsc" : "YESB0CMSNOC"
},
"externalRef" : "123456789",
"consent" : "Y",
"pennyDrop": "YES",
"latitude" : "20.5936",
"longitude" : "78.9628"
}'
POST /identity/verifyBankAccount HTTP/1.1
Host: api.instantpay.in
X-Ipay-Auth-Code: {{authCode}}
X-Ipay-Client-Id: {{clientId}}
X-Ipay-Client-Secret: {{clientSecret}}
X-Ipay-Endpoint-Ip: {{endPointIP}}
Content-Type: application/json
{
"payee" : {
"name" : "Instantpay India",
"accountNumber" : "7770007428585742",
"bankIfsc" : "YESB0CMSNOC"
},
"beneBank" : "Instantpay India",
"externalRef" : "PPT2",
"consent" : "Y",
"pennyDrop": "YES",
"latitude" : "20.5936",
"longitude" : "78.9628"
}
Note :
If you have passed pennyDrop YES, It will be verified from Bank(Rs 1 Will be Credited)
If you have passed pennyDrop NO,It will be verified from Bank(Rs 1 will not be Credited)
If you have passed pennyDrop AUTO, It will be verified at Instantpay server and If not found then it will be initiated on penny less i.e Rs 1 will not be Credited
If a Account number is verified again with pennyDrop YES within 24 hours then from the second instance Rs 1 will not be credited to the Bank Account.
In the response If isPennyDrop is true then transaction is initiated on Penny drop if it is false then transaction initiated on penny less.
Response Parameters
Name | Type | Description |
---|---|---|
statuscode | String | InstantPay Status Code |
actcode | String | Action Code |
status | String | Status message |
data | Array | Response Data (If Present) |
timestamp | String | Response time (YYYY-MM-DD HH:MM:SS) |
ipay_uuid | String | Request reference number |
orderid | String | Transaction Id ( If transaction otherwise it is null ) |
environment | String | Live/Sandbox |
Sample Response for Bank Account Verification
{
"statuscode": "TXN",
"actcode": null,
"status": "Transaction Successful",
"data": {
"externalRef": "123456789",
"poolReferenceId": "1240315102923AFEFN",
"txnValue": "0.00",
"txnReferenceId": "407510310584",
"pool": {
"account": "7428585742",
"openingBal": "20.10",
"mode": "DR",
"amount": "0.00",
"closingBal": "20.10"
},
"payer": {
"account": "7428585742",
"name": "Instantpay India Limited"
},
"payee": {
"name": "Instantpay India Ltd",
"account": "7770007428585742",
"ifsc": "YESB0CMSNOC",
"type": "",
"mccCode": "",
"merchantOnboardingType": "",
"merchantGenre": "",
"accountType": "",
"iin": "",
"nameMatchPercent" : 100
},
"isCached": false,
"isPennyDrop": false
},
"timestamp": "2024-03-15 10:29:24",
"ipay_uuid": "h0059b912fe7-ac74-49f4-9f25-d9af53d89411-wOLLeQN8MiZ0",
"orderid": "1240315102923AFEFN",
"environment": "LIVE",
"internalCode": null
}
Name Match Percent
To check if the provided beneficiary name and the name registered at the bank are the same, consumes a lot of time and effort. Instantpay BAV has introduced a new feature that will help you to verify if the names are same and provide the result accordingly.
A new parameters, nameMatchPercent will be available in the response, which will help you make faster validations and process payments successfully.
To get the nameMatchPercent in the API response the user have to pass the Beneficiary name in the API request.
You can categorize the match percent results using the table below.
Name Match Percent Range | Match Result |
---|---|
100 | Exact Match |
85.00 - 99.00 | Close Match |
60.00 - 84.00 | Moderate Match |
34.00 - 59.00 | Poor Match |
1 - 33.00 | No Match |
Sandbox Values for Bank Account Verification
You can make test payments using the credentials mentioned below. The deducted amount from the Instantpay wallet will be refunded in T+1 working days as this is a testing transaction. Make sure you entered the correct keys in the request.
Note: For Sandbox, bankIfsc can be any IFS Code.
Name | Value | Results |
---|---|---|
accountNumber | 1111111111 | Transaction Successful |
accountNumber | 0000000000 | Transaction Under Process |
accountNumber | Any Value | Transaction Failed |