Are you looking for test card numbers?

Would you like to contact support?

Marketpay icon

Pay out to third parties

Send funds to third parties, such as suppliers or utility providers.

Account holders must have a sendToThirdParty capability before they can send funds to third parties.

Account holders that have a sendToThirdParty capability can make business-related fund transfers to third parties, such as their suppliers or providers.

Third-party accounts are accounts not owned by your user and therefore not connected to their legal entity as a transfer instrument. Currently, Adyen only supports sending funds to third-party bank accounts. In the future, you will be able to send to third-party wallets and cards.

Before you begin

Before your user can send funds to third parties, you must:

  • Reach out to your Adyen contact to:
    • Add an additional role for your API credential.
    • Enable transfers for the source balance account.
  • Make sure that the account holder has a sendToThirdParty capability.
  • Implement Adyen's Authentication SDK for transfers in the European Economic Area (EEA).

Send funds to third parties

When sending funds to third-party bank accounts, the required bank account details depend on bank identification type. There are also additional required fields if you're doing a cross-border transfer.

To start a transfer, make a POST /transfers request specifying:

Parameter name Required Description
balanceAccountId -white_check_mark- The ID of the balance account from which funds are deducted.
category -white_check_mark- Set to bank.
counterparty.bankAccount -white_check_mark- Contains details about the bank account and its owner.
  • The accountHolder.fullName is always required. For cross-border transfers, the accountHolder.address object is also required.
  • The accountIdentification is required. The fields that you need to send in this object are determined by the accountIdentification.type. See bank account identification types.
priority -white_check_mark- The priority of the bank transfer, which affects the speed of the transfer and the fees you have to pay. The possible values are regular, fast, or wire.
For cross-border transfers, set the priority to wire.
description Your description for the transfer. See here for allowed characters.
reference Your reference for the transfer. This is only used within your platform and not sent to the recipient. If you don't provide this in the request, Adyen generates a unique reference.
referenceForBeneficiary Your reference for the transfer that Adyen sends to the recipient.

Select a tab below for examples.

Here is an example of a local funds transfer of EUR funds to an IBAN bank account. When providing the details of the bank account, set the accountIdentification.type to iban.

For possible values for local transfers, see Bank account identification types.

Local funds transfer to an IBAN bank account
curl https://balanceplatform-api-test.adyen.com/btl/v3/transfers \
-H "content-type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-X POST \
-d '{
    "amount": {
      "currency": "EUR",
      "value": 150000
    },
    "category": "bank",
    "priority": "regular",
    "balanceAccountId": "BA00000000000000000000001",
    "counterparty": {
      "bankAccount": {
        "accountHolder": {
          "fullName": "A. Klaassen"
        },
        "accountIdentification": {
          "type": "iban",
          "iban": "NL91ABNA0417164300"
        }
      }
    },
    "referenceForBeneficiary": "YOUR_REFERENCE_SENT_TO_THE_BENEFICIARY",
    "reference": "YOUR_INTERNAL_REFERENCE",
    "description": "YOUR_DESCRIPTION"
  }'

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 webhooks.

Bank account identification types

When transferring funds to a third-party bank account, you need to provide the accountIdentification.type in your API request. The type also determines the required bank account details.

  1. To determine the accountIdentification.type value, you must have:
    • The country of the recipient bank account.
    • The currency of the funds you are transferring.

  2. Find the combination in the table below and select the type to see the required fields.

This combination also identifies if you are doing a local or cross-border transfer. Cross-border transfers must be sent as wire transfers, and you must include the address of the bank account owner.

Country of recipient bank account Currency of funds transfer Type Notes Character limits for description
Single Euro Payments Area (SEPA) countries EUR iban Maximum 140 characters. Allowed characters: / - ? : ( ) . , ' + Space
United States USD usLocal Allowed characters: / - ? : ( ) . , ' + Space
United Kingdom GBP ukLocal Maximum 140 characters. Allowed characters: / - ? : ( ) . , ' + Space
Poland PLN plLocal or iban Maximum 140 characters. Allowed characters: / - ? : ( ) . , ' + Space
Czech Republic CZK czLocal or iban Maximum 140 characters. Allowed characters: / - ? : ( ) . , ' + Space
Sweden SEK seLocal Maximum 140 characters. Allowed characters: / - ? : ( ) . , ' + Space
Countries where IBAN is required Any iban This is a cross-border transfer. Make sure to:
  • Set the priority to wire.
  • Include the address of the bank owner.
Maximum 140 characters. Allowed characters: [a-z][A-Z][0-9] . , – ( ) / = ' + : ? ! ” % & * < > ; Space
Countries where IBAN is optional
(for example, Poland or Czech Republic)
Any iban or numberAndBic This is a cross-border transfer. Make sure to:
  • Set the priority to wire.
  • Include the address of the bank owner.
Maximum 140 characters. Allowed characters: [a-z][A-Z][0-9] . , – ( ) / = ' + : ? ! ” % & * < > ; Space
Other countries not listed above Any numberAndBic This is a cross-border transfer. Make sure to:
  • Set the priority to wire.
  • Include the address of the bank owner.
Maximum 140 characters. Allowed characters: [a-z][A-Z][0-9] . , – ( ) / = ' + : ? ! ” % & * < > ; Space

Required fields

The table below shows the required fields that you need to send in the accountIdentification object based on the type.

Type Required fields
iban iban
usLocal accountNumber, routingNumber
ukLocal accountNumber, sortCode
plLocal accountNumber
czLocal accountNumber, bankCode
seLocal accountNumber, clearingNumber
numberAndBic accountNumber, bic

Next steps