When sending funds to third-party bank accounts, the required bank account details depend on the bank identification type. There are also additional required fields if you are doing a cross-border transfer. Additionally, you can validate the third-party bank account before sending funds to avoid failed transfers due to incorrect details.
Requirements
| Requirement | Description |
|---|---|
| Integration type | Adyen business accounts |
| API credential roles | Make sure that your API credential has the roles to use the Transfers API. |
| Webhooks | Subscribe to the following webhook(s): |
| Capabilities | Make sure that the user has the following capability allowed and enabled:
|
| Limitations |
|
| Setup steps |
|
Get transfer routes
Prior to submitting a transfer request, we recommend that you calculate the available transfer routes. This will enable you to design a configuration that optimally aligns with your use case. Furthermore, it minimizes the risk of transfer failures by proactively identifying supported routes and highlighting any necessary parameters.
Validate a third-party bank account
Before sending funds to a third-party bank account, you can validate this bank account to avoid failed transfers due to incorrect details.
To validate a third-party bank account, make a POST /validateBankAccountIdentification request specifying the following information, depending on the bank account identification type:
| Parameter | Description |
|---|---|
accountIdentification |
Object containing the details of the bank account to be validated. |
If the bank account details are valid, you'll get an HTTP 200 OK response. You can proceed with transferring funds to this account.
In case the bank account validation fails, you'll get the details in the response. Use this information to build your own logic for handling invalid bank account details.
Make a transfer
To start a transfer to a third party bank account:
-
Make a POST /transfers request specifying the following parameters:
Parameter name Type Required Description WWW-Authenticate Header SCA realm: Transfer.auth-param1: Base64-encoded value of sdkOutput that you receive from the Authentication SDK.
Use case: Required for transfers within the European Economic Area (EEA) or UK.amount Body The amount and the currency of the transfer. balanceAccountId Body The ID of the balance account from which funds are deducted. category Body Set to bank. bankAccount Body Contains details about the bank account and its owner. - The
accountHolder.fullNameis always required. For cross-border transfers, theaccountHolder.addressobject is also required. - The
accountIdentificationis required. The fields that you need to send in this object are determined by theaccountIdentification.type. See bank account identification types.
priority Body The priority of the bank transfer, which affects the speed of the transfer and the fees you have to pay. description Body Your description for the transfer. See Bank account identification types for allowed characters. reference Body Your reference for the transfer. This is only used within your balance platform and not sent to the recipient. If you do not provide this in the request, Adyen generates a unique reference. referenceForBeneficiary Body Your reference for the transfer that Adyen sends to the recipient. The following tabs show examples of POST /transfers requests.
- The
If the transfer request is successful, you receive an HTTP 200 OK response containing an id of the transfer request. Adyen informs your server of the status of the transfer through outgoing bank transfer webhooks.
Trigger additional reviews
To better control money movement in your balance platform, you can trigger additional reviews for s. Additional reviews require a member of your team to verify a before Adyen processes it.
-
You can trigger an additional review by including the review object in the POST /transfers request. In the object, specify the following parameter:
Parameter name Required Description review.numberOfApprovalsRequired 
Specifies the number of approvals required to process the .
Possible values: 1. Currently, it is possible to request only one additional review per .The following code sample shows how to include the
reviewobject. -
If the request is successful, you receive an HTTP 2XX response containing details, including the following parameters:
Parameter name Description review.numberOfApprovalsRequired Shows the number of approvals required to process the . After triggering the review, a member of your team must approve the before Adyen continues processing it.