Adyen-for-platform icon

Split transactions between balance accounts

Learn how to split transactions in your platform.

Split transactions automatically

You can configure your users' stores to automatically split all transactions. This means that you do not need to send split instructions in every payment or capture request.

For more information, see Split transactions automatically.

When you process transactions on behalf of your users, you must determine where to book the funds.

To make sure that the pay-in, settlement, and payout processes run smoothly for all users' transactions, you must book the funds and fees to the correct balance accounts.

This means that you must define instructions on how to split the funds between your user's balance accounts and your platform's liable balance account. You can either define these instructions in the following ways:

  • Automatically split all transactions processed through a specific store by setting up split configuration profiles.
  • Split specific transactions by defining instructions manually for each API request you send.

The instructions you provide in your API requests override the instructions you defined in your split configuration profiles.

If you do not provide any split instructions, the whole transaction is booked to your platform's liable balance account, including all associated fees.

Split specific transactions

If you want to define separate instructions for specific transactions in your platform, you can define the split instructions in your API requests. The instructions you provide in your API requests override any automatic split configuration profiles applied to your user's store.

The following information on this page explains the process of defining split instructions for specific transactions. Before sending an API request with split instructions, make sure you understand:

When to provide split instructions

You can provide instructions to split payments when you make the following requests:

You can provide instructions to split refunds when you make the following request:

This means that for every authorization, capture, or refund request that occurs in your platform, you can determine how to book the funds from that transaction.

How to split a transaction

When you process transactions for your users, you can split the funds and book them to any number of balance accounts in your platform.

For payments, you can provide specific instructions on booking:

For refunds, you can provide specific instructions on booking:

Your platform's commission is always booked to your liable balance account.

Send split instructions

When you split a payment or refund between multiple balance accounts, each split serves a different purpose. For example, a part of the transaction goes to your liable balance account as your platform's commission, and a part goes to your user's balance account as the sale amount.

When you send an API request for a payment or refund, you must define split instructions for each split of the full transaction amount.

To define split instructions in your Terminal API requests:

  1. Format the split instructions either as form-encoded key-value pairs, or as a JSON object converted to a Base64-encoded string.
  2. Pass the formatted instructions in the saleToAcquirerData object of your authorization or refund request.

To define split instructions for your capture request using the Checkout API, you must include a splits array in your request.

For more information on making a payment, capture, or refund request with a splits array, see the following pages:

Split types

When you send an API request for a transaction, you must define split instructions for each split of the full transaction amount using the saleToAcquirerData object. In each set of split instructions within the object, you must use the type field to define the purpose of that split.

Certain split types also require you to define other values in the split instructions. For example, when you want to book the split amount to your user's balance account (type is BalanceAccount), you must specify the ID of that balance account using the account parameter.

The following table shows the possible split type values you can send in your request, and whether you must send another parameter (account, amount, or reference) in the split instruction. If you do not specify an account in your split instructions, the split amount is booked to your liable balance account.

Split type Description Required additional parameters Recommended additional parameters
BalanceAccount Books a part of the transaction to your user's balance account. You must specify the account and the amount in your request. account

amount

reference
Commission Books your platform's commission to your liable balance account. amount reference
Interchange Books the fee paid to the issuer to the specified account. account

reference
SchemeFee Books the scheme fee to the specified account. account

reference
AcquiringFees Books the aggregated amount of the interchange and scheme fees to the specified account. account

reference
AdyenCommission Books the transaction fee due to Adyen under blended rates to the specified account. account

reference
AdyenMarkup Books the transaction fee due to Adyen under Interchange ++ pricing to the specified account. account

reference
AdyenFees Books the aggregated amount of Adyen's commission and markup to the specified balance account. account

reference
PaymentFee Books the aggregated amount of all the transaction fees to the specified account. account

reference
VAT Books the value-added tax (VAT) incurred on a payment to the specified account, allowing you to book this tax separately from the sale amount. amount account

reference
Surcharge Books the surcharge paid by the customer to the specified account. account

reference
Tip Books the tip (gratuity) paid by the customer to the specified account. The tip amount is provided by the customer on the terminal. account

reference

Next steps