Booking payments & payouts

When the customer is charged, how the money splits three ways, and when the seller actually receives it.

Quick answer

The customer pays once the booking is approved (or straight away with instant booking). Your commission is taken out, Stripe's processing fee comes out of the seller's side (unless you have chosen to pay it yourself), and the rest goes to the seller's connected Stripe account at that moment. Turn on payout after completion and the seller's share is held until the session has taken place instead.

When the customer is charged

  • Approval required (the default): the customer requests a slot, nothing is charged. When the seller approves, the customer gets a payment link and pays. Only then is the booking confirmed.
  • Instant booking: the customer is taken to checkout immediately and the booking is confirmed on payment.
  • Several sessions at once: with instant booking, all selected sessions are paid in one checkout. On approval-required stores each session is normally its own request and its own payment, except on listings with multi-session prices: there the sessions arrive as one request, the seller approves or declines the package as one (or declines a single session), and the customer pays every approved session with one button on the package card in My Bookings. Each session keeps the price it was requested at, so declining one never changes the others.
  • Pay in person: no online charge at all. The seller collects cash or card at the session, and no commission is taken because no money passes through the platform.

How a $200 booking splits

The single most asked question about bookings is who pays Stripe's processing fee. The answer is the seller: it comes out of their share, not out of your commission.

Customer pays

$200.00

20%
Seller

Your commission (20%)

Set per store, or per listing type

$40.00

Stripe processing fee

2.9% + 30c in the US, taken from the seller's share

$6.10

Seller receives

Lands in their Stripe account

$153.90

Shown on the seller's booking card as “Your Earnings”. Prometora's own platform fee is separate and billed to you monthly, never deducted here.

You can pay the Stripe fee yourself

By default the seller carries Stripe's processing fee. Under Card Fee in the Payment tab you can choose to pay it yourself, and sellers then receive the price minus your commission and nothing else. The choice covers bookings as well as orders. Cross-border and currency-conversion fees above the standard rate are absorbed by your platform account either way.

When the seller gets the money

By default this depends on one thing only: whether the seller has finished connecting their Stripe account. With payout after completion on, it also waits for the session to be over.

Seller has connected Stripe

Customer pays $200

$153.90 to their Stripe account

Same moment. Stripe then pays out on its own schedule.

Seller has not connected yet

Customer pays $200

$153.90 held in your balance

Shown to them as pending earnings.

Released when they connect

Every held booking pays out in one transfer.

Sellers can take bookings before connecting Stripe, which keeps signup friction low. Nothing is lost while they wait.

Test-mode earnings stay separate

Bookings taken while your store runs on Stripe test keys accrue separately from live ones, so practice bookings can never be paid out as real money or shown in a seller's live pending earnings. See How Sellers Connect Stripe.

Refunds and cancellations

  • Cancelling a paid booking refunds it in full, automatically. This applies whether the customer, the seller or you cancel it.
  • Your cancellation policy text is not enforced. It is shown to the customer at booking, but nothing charges a late-cancellation fee for you. To keep part of the payment, issue a partial refund from the booking instead of cancelling it.
  • Partial refunds can be any amount up to the total. Your commission comes back proportionally, so you are never left holding commission on money the customer got back.
  • Refunds work after payout. The seller's share is pulled back from their Stripe balance, which Stripe recovers from their later bookings if it goes negative.
  • Stripe keeps its processing fee on a refund. That cost sits with your platform account.
  • Held earnings are adjusted too. If a booking is refunded before the seller has connected Stripe, the amount is removed from their pending earnings.
  • Refunds while a payout is held (payout after completion) come out of the money you are holding. A full refund means the seller is never paid for that booking; a partial refund lowers what they receive by the same share.
  • One session of a multi-session booking is refunded on its own. Cancelling one lesson of a block refunds that lesson only.

Setting your commission

Bookings use the same commission chain as everything else on your marketplace, resolved in this order:

  1. A commission override on that specific seller
  2. The commission attached to the seller's subscription plan, if you bill sellers
  3. The rate set on the listing type, if you set one
  4. Your store-wide commission

Set these under Payments & Stripe and Price Rules. To model the numbers before launching, use the revenue calculator.

Payout after completion

For service marketplaces where customers and sellers do not know each other, you can hold the seller's share until the session has actually taken place. Turn it on under Store Settings → Booking → Payout after completion. It is off by default.

Weekend pottery workshop · $200 · 20% commission · payout after completion on

Customer pays $200

At booking, exactly as without the setting

Wed, Sep 30

$153.90 held in your Stripe balance

The seller sees “Payout held”; your $40 commission is already yours

Held

Session ends, Sat 11:30 AM

The customer is emailed: “How did it go?”

Sat, Oct 3

Customer confirms

$153.90 to the seller now

“Everything went fine”

No answer

$153.90 to the seller Tue, Oct 6

Released automatically after 3 days

Problem reported

Waits for you

Release payout, or refund the customer

Same split as above: only the moment the seller's share moves changes. The waiting period is yours to set, from 1 to 30 days.

  1. The customer pays when they book, exactly as before. The whole payment stays in your Stripe balance; nothing goes to the seller yet.
  2. When the session ends, the customer gets an email and a prompt in My Bookings: confirm it went fine, or report a problem.
  3. Confirmed: the seller's share (after your commission and the Stripe fee, same split as above) is sent right away.
  4. No answer: it is sent automatically after the waiting period you choose (3 days by default), counted from the end of the session in your session time zone.
  5. Problem reported: nothing is sent automatically. You and the seller are emailed with what the customer wrote, and you decide from the bookings list: Release payout, or refund the customer.
  • You can release any held payout yourself at any time from Store Settings → Booking.
  • Prefer not to ask the customer? Switch off Ask the customer how it went in the same card. The payout is then released when the session has ended, with no email and no prompt, and a customer with a problem contacts the seller or you.
  • It applies to paid bookings with a time slot on Stripe Connect. Pay-in-person bookings, free bookings and date-range stays are paid as before.
  • Multi-session bookings are held and released session by session, so a block of weekly lessons pays out lesson by lesson.
  • If a session is moved, its release date moves with it.
  • Sellers see “Payout held” with the release date on their bookings, and get an email when it is released. A seller who has not connected Stripe yet still receives it once they connect.
  • Turning it on affects new payments only. Turning it off leaves payouts that are already held to finish on their own schedule.

Held money sits in your Stripe balance

If Stripe pays your balance out to your bank automatically, keep enough in it to cover the payouts you are holding, or switch your Stripe payouts to manual. The webhooks booking.payout_released and booking.completion_disputed let you follow it in your own tools.

Charge in the currency your Stripe account pays out in

A held payout is sent to the seller later as a separate Stripe transfer, and Stripe only allows that in the currency the payment settled in on your account, between a platform and sellers in the same region (EU to EU, US to US, UK to UK). If your store charges in a different currency from your Stripe account's own (for example USD on an EU account), leave this setting off.

Still unsure about the numbers?

Send us the price of a typical session and the commission you have in mind, and we will write out exactly what each side receives.
Booking Payments & Payouts | Prometora Docs