Bank Verification API

The Bank Verification API is used to verify bank account using penny drop/penniless transaction.

Environment

📘

Note:

The access token with the scope as verify_bank_account and grant type as client_credentials are required on the header. For more information on getting the access token, refer to Get Token API - Bank Verification.

Request parameters

Header

ParameterDescription
Bearer token
mandatory
The access token with the scope as verify_bank_account and grant type as client_credentials are required on the header. For more information on getting the access token, refer to Get Token API - Bank Verification .

Body

ParameterDescription
account_number
mandatory
String This parameter must contain the account number to be verified.
ifsc
mandatory
String This parameter must contain the bank IFSC code.
name
mandatory
String This parameter must contain the account holder name.
name_match_required
optional
Boolean This parameter must be set to true if the name must match along with bank account verification.
leniency
optional
String If name_match_required is set to true, this parameter must contain any of the following:

- Medium
- High
- Lo

Sample request

curl --location 'https://uat-onepayuonboarding.payu.in/dvs/bank_accounts/acc_verification' \
--header 'clientId: <client Id>' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--header 'Cookie: Path=/' \
--data '{
"account_number": "0514100000****",
"ifsc": "HDFC0000514",
"name" : "R******* P"
}
'

Response parameters

ParameterDescription
payuRequestIdThis parameter returns the PayU request ID.
resultThis parameter returns the results of the verification in a JSON format. For more information, refer to result JSON fields description table.
requestAttributesThis parameter contains the following details posted in the request in a JSON format:

- name
- ifsc
- accountNumber

result JSON fields description

FieldDescriptionExample
accountNameThe masked name of the account holder for privacy.Ashish
bankResponseThe response message from the bank regarding the transaction status.Transaction successful
bankTxnStatusA boolean value indicating if the bank transaction was successful.true
accountStatusThe current status of the account.ACTIVE

Sample response

Success scenario

{
  "payuRequestId": "ba659237-34de-4805-a5cf-ef9dd7a1cda2",
  "result": {
    "accountName": "P R*******",
    "bankResponse": "Transaction successful",
    "bankTxnStatus": "true",
    "accountStatus": "ACTIVE"
  },
  "requestAttributes": {
    "name": "R******* P",
    "ifsc": "HDFC0000514",
    "accountNumber": "0514100000****"
  }
}

Failure scenario

  • Missing client_id value in header
{
  "error": "Missing required client_id header"
}
  • Invalid account number
{
  "payuRequestId": "0aeb7a65-cea3-4e81-9355-38548bb8f795",
  "error": {
    "reason": "Invalid account number or IFSC provided"
  },
  "requestAttributes": {
    "name": "test",
    "ifsc": "HDFC0000514",
    "accountNumber": "0514100000***",
    "verficationMode": 1
  }
}