Skip to main content

Transfer funds

post/transfers

Versions 1 and 2 of the Transfers API are deprecated. If you are just starting your implementation, use the latest version.

Starts a request to transfer funds to:

Adyen sends the outcome of the transfer request through webhooks.

To use this endpoint:

  • Your API credential must have the TransferService Webservice Initiate role.
  • The account holder must have the required capabilities.

Reach out to your Adyen contact to set up these permissions.

Endpoint destination URL
https://balanceplatform-api-test.adyen.com/btl/v2/transfers
Click to copy
WWW-Authenticatestring

Header for authenticating through SCA

Idempotency-Keystring

A unique identifier for the message with a maximum of 64 characters (we recommend a UUID).

amountobjectRequired

The amount of the transfer.

balanceAccountIdstring

The unique identifier of the source balance account.

If you want to make a transfer using a virtual bankAccount assigned to the balance account, you must specify the payment instrument ID of the virtual bankAccount. If you only specify a balance account ID, Adyen uses the default physical bankAccount payment instrument assigned to the balance account.

bankobject

Contains settings for bank transfers. If you are transferring funds to bank accounts and you don't provide this object, Adyen applies default settings.

counterpartyobjectRequired

The other party involved in the funds transfer. A bank account, a balance account, or a transfer instrument is required.

descriptionstring
Max length: 140

Your description for the transfer. It is used by most banks as the transfer description. We recommend sending a maximum of 140 characters, otherwise the description may be truncated.

Supported characters: [a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space

Supported characters for regular and fast transfers to a US counterparty: [a-z] [A-Z] [0-9] & $ % # @ ~ = + - _ ' " ! ?

paymentInstrumentIdstring

The unique identifier of the source payment instrument.

If you want to make a transfer using a virtual bankAccount, you must specify the payment instrument ID of the virtual bankAccount. If you only specify a balance account ID, Adyen uses the default physical bankAccount payment instrument assigned to the balance account.

referencestring
Max length: 80

Your reference for the transfer, used internally within your platform. If you don't provide this in the request, Adyen generates a unique reference.

referenceForBeneficiarystring
Max length: 80

A reference that is sent to the recipient. This reference is also sent in all webhooks related to the transfer, so you can use it to track statuses for both parties involved in the funds movement.

Supported characters: a-z, A-Z, 0-9.

After submitting a call, you receive a response message to inform you that your request was received and processed.

Depending on the HTTP status code of the response message, it is helpful to build some logic to handle any errors that a request or the system may return.

HTTP Responses

  • 202 - Accepted

    The request has been accepted for processing, but the processing has not been completed.

  • 401 - Unauthorized

    Authentication required.

  • 403 - Forbidden

    Insufficient permissions to process the request.

  • 422 - Unprocessable Entity

    A request validation error.

  • 500 - Internal Server Error

    The server could not process the request.