Making external transfers can require adherence to additional requirements or limitations, such as counterparty reachability and specific minimum/maximum transfer amounts. To address these challenges, we provide a /transferRoutes/calculate endpoint. By using this endpoint, you get an insight into the available routes for external fund transfers and the requirements that must be met to successfully initiate a transfer via those routes.
Get available routes
You can request all available bank transfers routes for a particular country/region or set of counterparty bank details. To request the available routes for your transfer, make a POST /transferRoutes/calculate request. Provide the following parameters in the request body:
Parameter | Required | Description |
---|---|---|
balancePlatform | The unique identifier of your balance platform. | |
currency | The three-character ISO currency code of the transfer. | |
category | The type of transfer. Set to bank. | |
country | The two-character ISO country code of the counterparty. For example, US or NL. | |
priorities | The priority for the bank transfer. Multiple values can be sent. | |
counterparty | The recipient of the funds transfer. Possible values: bankAccount or transferInstrumentId. | |
balanceAccountId | The unique identifier of the source balance account. Required if the counterparty is transferInstrumentId. |
To get available transfer routes, you must provide either country
or counterparty
.
The following request returns the available transfer routes based on a particular balance platform, transfer currency, and country/region of the recipient.
curl https://balanceplatform-api-test.adyen.com/bcl/v2/transferRoutes/calculate \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "balancePlatform": "YOUR_BALANCE_PLATFORM", "currency": "USD", "category": "bank", "country": "NL" }'
The response contains available transfer options, including specific requirements based on the transfer priority
.
{ "transferRoutes": [ { "currency": "USD", "priority": "regular", "requirements": [] }, { "currency": "USD", "priority": "crossBorder", "requirements": [ { "description": "Amount of transfer must be at least 100, and no greater than 99999999999", "max": 99999999999, "min": 100, "type": "amountMinMaxRequirement" }, { "description": "Country, street and city is required.", "requiredAddressFields": [ "STREET", "CITY" ], "type": "addressRequirement" }, { "description": "Bank account identification type must be iban or numberAndBic", "bankAccountIdentificationTypes": [ "iban", "numberAndBic" ], "type": "bankAccountIdentificationTypeRequirement" }, { "issuingCountryCode": "NL", "paymentInstrumentType": "BankAccount", "type": "paymentInstrumentRequirement" } ] }, { "currency": "USD", "priority": "wire", "requirements": [] }, { "currency": "USD", "priority": "internal", "requirements": [] } ] }