If the split amounts are not known or decided at the time of payment, you can provide the split data in a /payments/{paymentPspReference}/captures request instead.
Providing split data at capture overrules data from the original payment request. If you don't send split data in the capture request, we use the split data from the payment authorisation.
If you consider splitting at capture, take into account the following restrictions:
- Splitting payments at capture is only possible for payment methods that support separate captures.
- When using payment methods that do not support delayed captures, the funds may not be booked correctly unless the split data is provided in the payment request.
- Partial captures require you to supply split data. If you don't provide split data, then all funds are booked to your liable balance account.
Step 1: Get the pspReference
From the
transactionID
field in the payment response, get the pspReference
of the authorization you want to capture.
Step 2: Send the capture request
To capture and split a payment at the same time, send a POST /payments/{paymentPspReference}/captures request, where paymentPspReference
is the pspReference
of the authorization you want to capture.
In the body, include the splits array. For each item in the array, specify the following fields:
Parameter | Required | Description |
---|---|---|
account | The account that will receive (or be charged) the split amount. This is the balanceAccountId of one of your user's balance accounts. You do not need to specify this field when type is Commission. |
|
amount.value | The value of the split amount. You do not need to specify this field for transaction fees, since they are not known at the time of payment. | |
type | Defines the part of the payment you want to book to the specified account .Possible values:
|
|
amount.currency | Required for currency conversion | The currency of the split amount. |
reference | Required if type is BalanceAccount |
Your unique identifier for the specific transaction split. |
description | Your description for that specific transaction split, which is returned in our reporting. |
Here is an example of how you can split the payment amount at the time of capture, when a customer pays for goods worth EUR 400.00.
- EUR 396.00 are booked to your user's balance account as payment for the goods.
- EUR 4.00 are booked to your liable balance account as your platform's commission.
- All transaction fees are booked against your user's balance account, deducted from the sale amount.
Step 3: Check the result
API response
In the capture response, note the following:
paymentPspReference
: the PSP reference of the authorizationpspReference
: the PSP reference associated with this capture request. This is different from the PSP reference of the authorization.status
: received
Webhook
Wait for the CAPTURE webhook to learn the outcome of the request.
Validating split information
The API request validates only the format of the split data, not the balance accounts specified in the request. This means that even if the payment, capture, and refund is successful, it is possible that the funds are not credited to/deducted from the specified balance account. If the balance account does not exist, or it is linked to an account holder with a closed status, the full transaction (sale amount, commission, and fees) is booked to your platform's liable balance account.
To correct the balances, you can transfer the funds between the balance accounts in your platform.