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.
| Word | What it means here |
|---|---|
| Split | One order being paid for by several people |
| Share | What one person owes. Shares add up to the order total |
| Participant | One of the people paying a share |
| Hold | Money 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 |
| Authorise | What a participant does: agrees to their share and lets us place the hold |
| Take the money | Turning all the holds into real charges, at once. Stripe calls this "capture", and you will see that word in our statuses and error messages |
| Release | Cancelling a hold, so the ring-fenced money goes back. Nobody is charged |
| Pay link | The private web address one participant uses to pay their own share |
| Your Stripe account | The 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:
- Each participant authorises their share, which places a hold on their card. Nobody has been charged yet.
- No one is charged until the last person authorises.
- 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.
There is no single rule for the whole API. Check the endpoint you are calling:
| Endpoint | Field | Unit |
|---|---|---|
POST /api/merchants/checkout/sessions (hosted checkout) | amount | Pounds. £120 is 120. Between £1 and £5000 |
POST /api/checkout-splits (create a split yourself) | amountMinor | Pence. £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
| Credential | Who uses it | What it can do |
|---|---|---|
API key (sp_prod_...), sent as x-merchant-api-key | Your server | Start 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 dashboard | Everything 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:
- Become a merchant once, connect Stripe, and create an API key under Developers.
- Take splits from your own checkout with hosted checkout, or set one up yourself when you already know who is paying.
- Send participants their links so each person can approve their own share.
- 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.