Fast-payout icon

Initiate on-demand internal funds transfers

Send funds or initiate an internal direct debit between balance accounts.

You can initiate on-demand fund transfers without fixing a schedule. This page explains how to do this by using the API or your Customer Area.

You can set up a schedule to automatically transfer funds between balance accounts. In addition to that, or instead of that, you can transfer funds between balance accounts on-demand.

Before you begin

  • Ensure that your server can receive and accept webhooks, and that the Transfer webhooks have been added in your Customer Area.
  • Ask our Support Team to enable transfers for the balance account that pushes or pulls funds.
  • If the balance accounts involved in the transfer do not belong to the same account holder, check the capabilities of the account holders:
    • The account holder of the balance account where the push or pull transfer request is initiated must have the sendToBalanceAccount capability.
    • The account holder of the balance account where the push or pull transfer request is received must have the receiveFromBalanceAccount capability.

Initiate an internal transfer

Select the following tabs to learn how to initiate transfers between balance accounts using your Customer Area, or using an API call.

To transfer funds on demand in your Customer Area, your account must have the following role:

  • Initiate transfers

Initiate the transfer as follows:

  1. Select the merchant account linked to your balance platform.
  2. Go to Platform > Transfers and select Transfer funds.
  3. In the Source balance account field, enter the ID of the balance account where the funds will be debited.
  4. In the Counterparty Type field, select balanceAccount.
  5. Select the Counterparty balance account ID. This is where the funds will be credited.
  6. Select the currency and enter the amount to be transferred.
  7. Optional. Enter the following information:
    • Reference: your reference for the transfer, used internally within your platform. If you don't provide this, Adyen generates a unique reference. Maximum 80 characters.
    • Description: a description of the transfer that is sent to the recipient of the transfer request. Supported characters: [a-z][A-Z][0-9]/ - ? : ( ) . , ' + Space. We recommend a maximum of 140 characters.
    • Reference for beneficiary: a reference that is sent to the recipient of the transfer request. It is also sent in all the webhooks related to the transfer. Supported characters: [a-z][A-Z][0-9]. Maximum 80 characters.
  8. Select Transfer funds > Yes, Transfer.

The transfer request is now created. On the Platform > Transfers tab you can confirm if the transfer has been booked.

You want to send EUR 150 from balance account 1 to balance account 2.

The following table shows the details you need to enter to initiate the transfer:

Field Details
Source balance account BA00000000000000000000001
Counterparty Type balanceAccount
Counterparty balance account ID BA00000000000000000000002
Amount EUR 150
Reference (optional) Your internal reference for the transfer
Description (optional) Your description of the transfer
Reference for beneficiary (optional) Your reference for the recipient of the transfer request

Get updates on the status of the transfer

For every internal transfer request , Adyen sends multiple webhooks to your server: a series of webhooks for the balance account where the transfer is an outgoing request, and a series of webhooks for the balance account where the transfer is an incoming request.

Using these webhooks, you can track the status of the transfer: received, then authorised, and finally booked. The webhooks also inform you if the transfer failed.

You can also view the transfer details in your Customer Area. Each transfer of funds between balance accounts appears in the Customer Area as two transfer entries: one for the balance account that is credited, and one for the balance account that is debited.