Default icon

Split at capture

Learn how to split a transaction at the time of capture.

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 -white_check_mark- 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 -white_check_mark- 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 -white_check_mark- Defines the part of the payment you want to book to the specified account.
Possible values:
  • BalanceAccount: books the sale amount against the specified balance account.
  • Commission: books the commission against your liable balance account.
  • You can also book different types of the transaction fees to different balance accounts.
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 authorization
  • pspReference: 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.

See also