Transfer funds

post /transfers

Starts a request to transfer funds to balance accounts, transfer instruments, or third-party bank accounts. Adyen sends the outcome of the transfer request through webhooks.

To use this endpoint, you need an additional role for your API credential and transfers must be enabled for the source balance account. Your Adyen contact will set these up for you.

Endpoint destination URL
Click to copy

Request parameters

amount object Required

The amount of the transfer.

balanceAccountId string

The unique identifier of the source balance account.

category string Required

The type of transfer.

Possible values:

  • bank: Transfer to a transfer instrument or a bank account.

  • internal: Transfer to another balance account within your platform.

  • issuedCard: Transfer initiated by a Adyen-issued card.

  • platformPayment: Fund movements related to payments that are acquired for your users.

counterparty object Required

The recipient of the funds transfer. A bank account, a balance account, or a transfer instrument is required.

description string

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] & $ % # @ ~ = + - _ ' " ! ?

id string

The ID of the resource.

paymentInstrumentId string

The unique identifier of the source payment instrument.

priority string

The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Required for transfers with category bank.

Possible values:

  • regular: For normal, low-value transactions.

  • fast: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions.

  • wire: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: Instant way to transfer funds in SEPA countries.

  • crossBorder: High-value transfer to a recipient in a different country.

  • internal: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).

reference string
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.

referenceForBeneficiary string
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 the source and recipient of funds.

Supported characters: a-z, A-Z, 0-9. The maximum length depends on the category.

  • internal: 80 characters

  • bank: 35 characters when transferring to an IBAN, 15 characters for others.

ultimateParty object

The ultimate sender of the funds of the transfer (ultimate debtor).

Response parameters

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

  • 200 - OK

    The request has succeeded.

    Show more Show less
  • 202 - Accepted

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

    Show more Show less
  • 401 - Unauthorized

    Authentication required.

    Show more Show less
  • 403 - Forbidden

    Insufficient permissions to process the request.

    Show more Show less
  • 422 - Unprocessable Entity

    A request validation error.

    Show more Show less
  • 500 - Internal Server Error

    The server could not process the request.

    Show more Show less
  • Request
  • Click to copy
  • Response
  • Click to copy