Understand the requirements to verify a bank account.
The bank account check represents the fields Adyen needs to verify that a bank account exists and is owned by the account holder. Each bank account you add to an account holder will need to be verified in order to pay out to that bank account.
You can find a list of the bank accounts' check status within the
The required information about the bank account should be provided when signing up a sub-merchant with
/createAccountHolder call or later with the
/updateAccountHolder call, in a BankAccountDetail object.
( * ) For more information on what you need to provide as
branchCode, see Providing the bank's branchCode below.
( ** ) Either
iban or the combination of
accountNumber is required.
Providing the bank's branchCode
Specify the branch code of the branch under which the bank account is registered in
BankAccountDetail.branchCode. Use the following table to identify which code is required:
|United States||Routing number||121122676|
|United Kingdom||Sort code||123456|
The following statuses can be returned for the Bank account check:
|Status||Description||Action to take|
|AWAITING_DATA||There is still data missing to perform the verification.||
Provide the missing data.
All the required data has been provided, but the verification has not started since it is not required.
|PENDING||Verification is being executed.||
Wait for an ACCOUNT_HOLDER_VERIFICATION notification with a new status.
|INVALID_DATA||There are errors in the data provided.||Review the data provided. It might be a wrong
|RETRY_LIMIT_REACHED||The data has been updated too many times. A bank statement must be uploaded.||
Upload a bank statement.
|PASSED||The verification has been passed successfully.||
|FAILED||Adyen has verified the information, but has found reasons to refuse working with this entity.||
If you think this state was reached in error, reach out to Support Team.
Uploading a bank statement
In some situations, we are unable to validate a bank account and may request you to collect a scanned bank statement in order to validate the bank account.
To provide the bank statement, use the
/uploadDocument call. You need to specify the
accountHolderCode of the account holder and the
bankAccountUUID of the bank account to upload for as set the
documentType as BANK_STATEMENT. The
bankAccountUUID is returned when you add a bank account, or with the
The bank statement must be a jpeg, jpg, pdf, or png file, encoded as a Base64 string, and passed as the
A successful upload will have a HTTP status code of 200 and the response will be the account holder's information, which will contain the bank account check with a status of DATA_PROVIDED or PENDING.
The bank statements are validated asynchronously and, on average, will take about 2 days to validate. Once validated, the BANK_ACCOUNT_VERIFICATION will be updated to a status of PASSED.
When you upload a bank statement, it must meet the following requirements:
- Allowed formats: jpeg, jpg, pdf, png.
- Maximum allowed size: 10 MB.
- Minimum allowed size: 1 byte for PDF, 100 kB for other formats.