Worldpay.Marketplaces.SplitPayments (Worldpay v1.0.0)

Copy Markdown View Source

Worldpay Split Payments API — allocate a payment across balance accounts.

Requires a prior card payment authorization and settlement via Worldpay.CardPayments.

Flow

  1. Authorize → Worldpay.CardPayments.authorize/3
  2. Settle → Worldpay.CardPayments.settle/3
  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

Split a settled payment across balance accounts.

Split refund across balance accounts.

Functions

split(body, config, opts \\ [])

@spec split(map(), Worldpay.Config.t(), keyword()) ::
  {:ok, map()} | {:error, Worldpay.Error.t()}

Split a settled payment across balance accounts.

split_refund(split_payment_id, body, config, opts \\ [])

@spec split_refund(String.t(), map(), Worldpay.Config.t(), keyword()) ::
  {:ok, map()} | {:error, Worldpay.Error.t()}

Split refund across balance accounts.