Marketplace icon

Schedule internal funds transfers

Create a schedule to automatically transfer funds between balance accounts within your marketplace.

Automate internal funds transfers by configuring sweeps, in the same manner as setting up scheduled payouts. A sweep automatically pushes out or pulls in funds from a balance account based on a pre-defined schedule, amount, and source or destination. For more information, refer to How sweeps work.

Configure a push or pull sweep depending on the scenario. For example, to maintain balances, you can set up a pull sweep to pull funds from another balance account when the balance goes below a certain amount. If you want to automate sending bonuses from your liable balance account, you can set up a push sweep to push funds from the liable balance account to your user's balance account.

This page explains how to configure sweeps to schedule automatic transfers between balance accounts.

Requirements

  • Make sure that your server can receive and accept webhooks, and that you subscribed to the Transfer webhooks in your Customer Area.
  • Ask our Support Team to enable transfers for the balance account that initiates the transfer request.
  • 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 that sends the the transfer request must have the sendToBalanceAccount capability.
    • The account holder of the balance account that receives the transfer request must have the receiveFromBalanceAccount capability.

Step 1. Create a sweep

Configure sweeps by using your Customer Area, or making a POST /balanceAccounts/{balanceAccountId}/sweeps request. In this example, we will use a push sweep to push funds out of a balance account.

Step 2. Get updates when a transfer results from a sweep

For every internal transfer request that results from a sweep, 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.

Troubleshooting

If an internal fund transfer fails, verify if there are enough funds in the source balance account:

  1. Make a GET /balanceAccounts/{id} request, specifying the source balance account's ID in the path.
  2. Check the available balance.
  3. If the amount is lower than the transfer amount, you can:
    • Ask your user to top up their balance account.
    • Make an internal transfer from your liable balance account to your user's balance account.

If there are enough funds in the balance account, but the transfer still fails, contact our Support Team.

View sweep details

After you create a sweep, you can view the details of the resulting scheduled transfer in your Customer Area. These details include:

  • Transfer amount
  • Source and destination of the transfer
  • Completed and upcoming scheduled transfers

You can view the details of all payout schedules and internal transfer schedules in the Balance account details page, under Scheduled transfers. To do this, your account must have the Balance platform base role.

To view the details of a scheduled transfer:

  1. In Accounts & balances > Balance accounts, select a Balance account ID.
  2. In Balance account details, under Scheduled transfers, select a scheduled transfer.
  3. Open the Details tab to view information about the scheduled transfer.
  4. Open the Events tab to track the event history of the scheduled transfer. You can:
    • View the date of the next scheduled transfer.
    • View a history of past transfer events, including their execution dates and statuses.

Transfer statuses

The table below explains the statuses you may see in the Events tab for each scheduled transfer, along with their possible reasons:

Status Description Possible reasons
Not sent The transfer schedule initiated a transfer request, but the transfer request was not successful. Not enough balance: Check that the balance account has enough funds. If needed, you can top up the balance account.
Missing capabilities: Verify that the account holder is allowed to use the required capabilities.
Failed The transfer failed. Unauthorized: The transfer was not authorized.
Success The transfer was created.
The details include the transfer amount, the transfer ID, and a link to the transfer details page.
Not applicable.
OSZAR »