Adyen-for-platform icon

Schedule internal funds transfers

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

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.

To configure sweeps in your Customer Area, your account must have the Manage sweep configurations role.

  1. In the navigation menu, select the merchant account linked to your balance platform.

  2. In Accounts & balances > Balance accounts, select a Balance account ID.

  3. In Scheduled transfers panel, select Add a transfer schedule.

  4. Select Payout schedule.

  5. Select Next.

  6. Enter and verify the configuration details in their respective fields.

    Field Description
    When balance on Automatically set to the balance account ID.
    Is more or equal to Set a trigger amount. Before paying out the funds, Adyen checks if the available balance is more than or equal to the trigger amount.
    Action Select Push an amount or Maintain a balance.
    Push this amount Select Entire available balance or Custom. Read more on how Adyen calculates the available balance.
    Push balance to Select Balance account.
    Balance account Id Select the ID of the balance account.
    When schedule matches Select the predefined schedules or Custom.
    Schedule If you select a Custom schedule, specify the schedule or a cron expression. Select Submit.
    Activate Immediately after creation
    Description Enter a description for the schedule. (Optional)
  7. Select Next.

  8. Review the information that you provided.

  9. Select Save.

The details of your scheduled transfer are shown in Scheduled transfers.

The following example shows how to enter the configuration details.

Your user has two balance accounts, balance account 1 and balance account 2, which they use for different purposes. On balance account 1, they want to maintain a balance of EUR 200. To do this, they want to check on every Wednesday at 9:30 AM if the funds in balance account 1 have exceeded EUR 250 and push this excess to balance account 2.

The following table shows the details you must enter for this case.

Field Details
When balance on BA00000000000000000000001
Is more or equal to EUR 250
Action Maintain a balance
Maintain a balance of EUR 200
Push balance to Balance account
Balance account BA00000000000000000000002
When schedule matches Custom
Schedule Cron Expression > 30 9 * * 3 > Submit
Activate Immediately after creation

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 one of the following roles:

  • Balance platform base role
  • Balance platform admin role

To view details:

  1. In Accounts & balances > Balance accounts, select a Balance account ID.
  2. In Balance account details, under Scheduled transfers, select a scheduled transfer.
  3. Select View details.