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:
- Add a role for your API credential, which you will use for the Transfers API.
- Enable transfers for the source balance account.
Transfer funds between balance accounts
To transfer funds between balance accounts in your platform:
-
Make a POST /transfers request specifying:
Here is an example of how you can transfer 100 EUR from your liable balance account to another balance account.Parameter Required Description amount Object containing the currency and value of the transfer. balanceAccountId Unique identifier of the source balance account. category Set to internal. counterparty.balanceAccountId Unique identifier of the recipient balance account. description Your description for the transfer. reference Your unique reference for the transfer. 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": "BA32272223211C78CZ3T52DKZ", "category" : "internal", "counterparty": { "balanceAccountId": "BA32272223222B5LPRFDW7J9G" }, "description": "YOUR_DESCRIPTION_FOR_THE_TRANSFER", "reference": "YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER" }'
id
for the transfer request.{ "id": "48NJIB9TWQJ6L7U7", "amount": { "currency": "EUR", "value": 10000 }, "balanceAccountId": "BA32272223211C78CZ3T52DKZ", "category" : "internal", "description": "YOUR_DESCRIPTION_FOR_THE_TRANSFER", "reference": "YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER", "counterparty": { "balanceAccountId": "BA32272223222B5LPRFDW7J9G" }, "direction": "outgoing", "reason": "approved", "status": "authorised" }
- To know if the transfer has been completed, keep track of notification webhooks. You can also make a GET /balanceAccounts{id} request.