Are you looking for test card numbers?

Would you like to contact support?

Marketpay icon

Manage funds within your platform

Transfer funds between balance accounts.

Depending on your use cases, there might be scenarios that require you to make internal transfers. For example, sending bonuses, or when your user wants to move funds between their balance accounts.

Before you begin

Before you can make internal transfer funds, reach out to your Adyen contact to:

Transfer funds between balance accounts

To transfer funds between balance accounts in your platform:

  1. Make a POST /transfers request specifying:
    Parameter Required Description
    amount -white_check_mark- Object containing the currency and value of the transfer.
    balanceAccountId -white_check_mark- Unique identifier of the source balance account.
    category -white_check_mark- Set to internal.
    counterparty.balanceAccountId -white_check_mark- Unique identifier of the recipient balance account.
    description Your description for the transfer.
    reference Your unique reference for the transfer.
    referenceForBeneficiary Your reference for the transfer that is sent to the recipient and in all notification webhooks.
    Here is an example of how you can transfer 100 EUR from your liable balance account to another balance account.
    Transfer funds between balance accounts
    curl https://balanceplatform-api-test.adyen.com/btl/v3/transfers \
    -H "x-api-key: YOUR_BALANCE_PLATFORM_API_KEY" \
    -H "content-type: application/json" \
    -X POST \
    -d '{
        "amount": {
            "currency": "EUR",
            "value": 10000
        },
        "balanceAccountId": "BA00000000000000000000001",
        "category" : "internal",
        "counterparty": {
            "balanceAccountId": "LBA00000000000000000000002"
        },
        "description": "YOUR_DESCRIPTION_FOR_THE_TRANSFER",
        "reference": "YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER"
    }'
    The response contains a unique id for the transfer request.
    Response
    {
      "id": "48NJIB9TWQJ6L7U7",
      "amount": {
        "currency": "EUR",
        "value": 10000
      },
      "balanceAccountId": "BA00000000000000000000001",
      "category" : "internal",
      "description": "YOUR_DESCRIPTION_FOR_THE_TRANSFER",
      "reference": "YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER",
      "counterparty": {
        "balanceAccountId": "BA00000000000000000000002"
      },
      "direction": "outgoing",
      "reason": "approved",
      "status": "authorised"
    }
  1. To know if the transfer has been completed, keep track of notification webhooks. You can also make a GET /balanceAccounts{id} request.

Next steps

To know if the transfer has been completed, listen to notification webhooks.