Worldpay Split Payments API — allocate a payment across balance accounts.
Requires a prior card payment authorization and settlement via
Worldpay.CardPayments.
Flow
- Authorize →
Worldpay.CardPayments.authorize/3 - Settle →
Worldpay.CardPayments.settle/3 - Split →
Worldpay.Marketplaces.SplitPayments.split/3
Example
{:ok, _} = Worldpay.Marketplaces.SplitPayments.split(%{
"merchant" => %{"entity" => "default"},
"paymentId" => payment_id,
"splits" => [
%{"type" => "marketplace", "amount" => %{"value" => 8500, "currency" => "GBP"}, "partyId" => seller_id},
%{"type" => "fee", "amount" => %{"value" => 1500, "currency" => "GBP"}, "partyId" => platform_id}
]
}, config)
Summary
Functions
@spec split(map(), Worldpay.Config.t(), keyword()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Split a settled payment across balance accounts.
@spec split_refund(String.t(), map(), Worldpay.Config.t(), keyword()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Split refund across balance accounts.