Split transactions automatically
You can configure your users' stores to automatically split all transactions. This means that you don't 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
- How you can split a transaction
- How to send split instructions
- Which split types you can include in your request
When to provide split instructions
You can provide instructions to split payments and chargebacks when you make calls to the following endpoints:
- /payments or /sessions to authorize a payment.
- /payments/{paymentPspReference}/captures to capture a payment.
You can provide instructions to split refunds when you make calls to the following endpoint:
- /payments/{paymentPspReference}/refunds to refund a payment.
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:
- The sale amount for the goods or services
- Your platform's commission for the payment
- The fees incurred by the payment
- The leftover amount after currency conversion
- The amount paid by your user to top up their balance account
For refunds, you can provide specific instructions on booking:
- The sale amount of the refund
- Your marketplace's commission that is now refunded
- The fees incurred by the refund
- The leftover amount after currency conversion
For chargebacks, you can provide specific instructions on booking:
- The disputed amount of the chargeback
- The fees incurred by the chargeback
Your platform's commission is always booked to your liable balance account.
Send split instructions
You can provide instructions to split payments, refunds, and chargebacks.
Payments and refunds
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. You can do this by including a splits
array in your authorization, capture, or refund requests. Each object in the splits
array represents one set of split instructions, and defines how to book a specific part of the transaction.
Within each object in the splits
array, you must define certain values. The links in the following table show you which values you need to provide for each type of request you make.
Request | Splits array in API explorer |
---|---|
Authorization request | /payments splits array /sessions splits array |
Capture request | splits array for captures |
Refund request | splits array for refunds |
For more information on making a payment, capture, or refund request with a splits
array, see the following pages:
Chargebacks
When you send an authorization or capture request for a payment, you can define instructions on how to book potential chargebacks on that payment. To do this, include a platformChargebackLogic
object in your authorization or capture request.
The links in the following table show you which values you need to provide inside the object.
Request | API explorer |
---|---|
Authorization request | platformChargebackLogic (/payments) platformChargebackLogic (/sessions) |
Capture request | platformChargebackLogic object for captures. |
For more information on defining split instructions for chargebacks, see Split chargebacks.
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 splits
array. In each set of split instructions within the array, 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 |
|
Remainder | Books the amount left over after currency conversion to the specified account . |
account reference |