Skip to main content

SharePay for Merchants

Let a group split a single order at your checkout. Each person pays their own share on their own card, and the whole order goes through at once.

The words on this site​

Payments vocabulary, in plain terms. We use these words the same way on every page.

WordWhat it means here
SplitOne order being paid for by several people
ShareWhat one person owes. Shares add up to the order total
ParticipantOne of the people paying a share
HoldMoney ring-fenced on someone's card but not taken. It shows on their banking app as pending, and disappears on its own if we never take it
AuthoriseWhat a participant does: agrees to their share and lets us place the hold
Take the moneyTurning all the holds into real charges, at once. Stripe calls this "capture", and you will see that word in our statuses and error messages
ReleaseCancelling a hold, so the ring-fenced money goes back. Nobody is charged
Pay linkThe private web address one participant uses to pay their own share
Your Stripe accountThe Stripe account you connect to SharePay. Every share is charged to it directly

Money goes straight to your Stripe account​

SharePay never holds your money. Every share is charged straight to your own Stripe account. We do not sit in the middle, we do not hold funds on your behalf, and we do not take on your chargeback risk.

Here is the whole flow:

  1. Each participant authorises their share, which places a hold on their card. Nobody has been charged yet.
  2. No one is charged until the last person authorises.
  3. Then every hold is turned into a real charge together, straight to your Stripe account.

If the group never finishes, every hold is released and nobody pays anything.

The one exception worth knowing: we take the money one person at a time, so if that run breaks halfway, some people can be charged and then refunded. See when capture fails part-way.

What SharePay charges​

The standard merchant fee is 3% of each completed split. There is no setup fee, no monthly fee and nothing to pay when a split does not complete.

Check your own rate rather than assuming 3%. It is on GET /api/merchants/me as platform_fee_bps, counted in hundredths of a percent — so the standard 3% reads as 300, and 2.5% would be 250. If you are on a promotional rate, platform_fee_discount_ends_at tells you when it goes back to standard. Whatever rate applied the day a split was created stays with that split, as merchant_fee_bps.

Each participant also pays a flat 20p service fee on top of their share, so someone taking a £40 share is charged £40.20. From the £40 share, SharePay's standard merchant fee is £1.20. Stripe's own processing fees are separate.

The fee is per participant rather than per order, so a £120 order split three ways collects 60p across the three customers, and a £1,200 order split three ways collects the same 60p.

The two fees reach us differently. The 20p is added on top of what the customer pays. Our percentage is taken out of the share before the money reaches you. So on a £40 share: the customer's card is charged £40.20, and you receive £40 minus our £1.20.

Stripe bills you separately, at whatever rate you already have with them. Two things to expect:

  • Stripe's percentage applies to the full £40.20, not the £40, so it costs you about a third of a penny more per person than it otherwise would.
  • A split is one card charge per person, so Stripe's fixed per-transaction charge applies once per person, not once per order. Splitting an order four ways means four of them.

Each share must be at least £1, so the fee is never a large fraction of what a customer pays. See limits and validation.

Both fees are recorded on every split and never recalculated afterwards, so what you see is always what was actually charged. They come back from GET /api/checkout-splits/:id as customer_fee_total, merchant_fee_total, customer_fee and merchant_fee.

Amount units differ by endpoint

There is no single rule for the whole API. Check the endpoint you are calling:

EndpointFieldUnit
POST /api/merchants/checkout/sessions (hosted checkout)amountPounds. £120 is 120. Between £1 and £5000
POST /api/checkout-splits (create a split yourself)amountMinorPence. £40 is 4000. A whole number, at least 100

On the hosted checkout the participant amounts the buyer chooses must sum exactly to the session amount. On POST /api/checkout-splits there is no separate order total to sum to: the split's total is the sum of the participant amounts you send. Either way, no single share may be under £1.

Both figures are shares. What the card is charged is the share plus the 20p service fee.

Two credentials, two different scopes​

CredentialWho uses itWhat it can do
API key (sp_prod_...), sent as x-merchant-api-keyYour serverStart a hosted checkout. Nothing else: it opens no other door on this site
A signed-in session, sent as Authorization: Bearer <token>A person, in the dashboardEverything else: reading orders, refunds, cancellations, settings

Your server holds an API key, so it can start a checkout and receive webhooks. It cannot read, cancel or refund a split with that key. Every endpoint and what authenticates it is in the API reference.

Where to start​

If you are integrating a shop, start with the Quickstart and run one split end to end on the sandbox before writing anything real.

Otherwise:

  1. Become a merchant once, connect Stripe, and create an API key under Developers.
  2. Take splits from your own checkout with hosted checkout, or set one up yourself when you already know who is paying.
  3. Send participants their links so each person can approve their own share.
  4. Listen for webhooks, then work through the go-live checklist.

Every endpoint is listed in one place in the API reference, and Team access and roles covers bringing colleagues in.