Help center
Take payments for bookings with Stripe
Connect your own Stripe account, and clients can pay when they book. They pay on a Stripe page, and the money goes straight to your Stripe account - we never hold it.
Before you start
- You need your own Stripe account. Stripe works for businesses in its supported countries - if Stripe is not available where your business is registered, payments cannot be connected yet.
- You can start with a test key and pay with the Stripe test card 4242 4242 4242 4242 - no real money moves.
Find your keys in Stripe
- In Stripe, open Developers, then API keys. Under Standard keys you see the Publishable key (pk_) and the Secret key (sk_).
- Copy both from the same place: both test keys (pk_test_, sk_test_) for a trial run, or both live keys.
- Safer option: press Create restricted key, allow Checkout Sessions - Write, PaymentIntents - Read, Charges - Read, Refunds - Write, and use that key (rk_) as the Secret key.
Connect it
- Open Bookings and press Settings, then find the Payments card. Or open Settings, then Integrations, then Stripe payments - it is the same connection.
- Paste the Publishable key and the Secret key into the fields with the same names and press Connect Stripe. The eye button shows what you pasted. We check the key with Stripe right away and tell you if a permission is missing or the keys are from different modes.
- The card then says Connected; a test key shows Test mode.
Ask for payment on a service
- In Bookings, open Services, open a service and under Payment choose Full prepayment.
- The client sees the amount before booking and pays on the Stripe page. The booking is kept even if the payment does not go through.
- The free cancelling window and the refund on a late cancellation are set on the same service. When a booking is cancelled, the refund goes back on its own by those rules.
Webhook (optional)
- Without it, payments still show up - within about ten minutes, or at once when the client comes back to your site.
- To see them at once: in Stripe, open Developers, then Webhooks, and press Add endpoint.
- Paste the Webhook address shown on the Payments card, pick the events checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, checkout.session.expired and charge.refunded, and save.
- Copy the Signing secret (it starts with whsec_), press Replace key on the Payments card, paste it into Signing secret and save. Leave the key fields empty to keep your keys.
Good to know
- The key is stored encrypted and is never shown again.
- Refunds made in Stripe show up here too.
- Disconnect stops new payments; payments already made stay in Stripe.
- Never paste your key into a chat, including the assistant - put it only into the Payments card.