Payments

Connect Stripe under Settings → Payments. Choose what runs online checkout and what appears in store (POS, deposits, gift cards, booking settle).

Your website address under Settings → General must be the live HTTPS URL customers use. Webhook URLs are built from that address.

Payments page overview

Settings → Payments has these parts:

  1. Online — Integrated — Stripe Checkout for the cart (and deposit payment links). Also powers in-store QR. Optional button label for the cart
  2. Online — Manual — optional unpaid cart checkout (customers place an order without paying by card; staff mark paid later)
  3. In store — Integrated — QR code payment toggle (requires Stripe connected)
  4. In store — Manual — cash and similar methods, plus write-down types

Turn QR or unpaid checkout on or off without disconnecting Stripe. Full walkthrough for day-to-day tenders: Point of sale and Bookings.

The old Settings → Integration URL redirects to Payments.

Stripe

Stripe handles:

  • Online cart Checkout when connected
  • Gift card purchases on the storefront
  • Emailed deposit payment links
  • QR code payment in store when QR is enabled under Payments → In store

Connect Stripe (recommended)

  1. Open the Stripe Dashboard. Use test mode while setting up, then switch to live before taking real payments.
  2. From Developers → API keys, copy the Secret key (sk_…).
  3. In Settings → Payments → Online — Integrated, paste the secret key and choose Connect Stripe.
  4. When your website address is a reachable HTTPS URL, TatShop can create the webhook endpoint and store the signing secret for you.

If connect cannot create the webhook automatically (for example a local or unreachable URL), use Advanced to paste a webhook secret you create in Stripe, or finish setup once the live domain is set.

Manual webhook (if needed)

  1. In Stripe, go to Developers → Webhooks → Add endpoint.

  2. Endpoint URL:

    https://YOUR-SHOP-DOMAIN/api/webhooks/stripe

    Replace YOUR-SHOP-DOMAIN with your website address (same host as Settings → General), with no trailing slash on the domain.

  3. Subscribe to the event checkout.session.completed.

  4. Reveal the Signing secret (whsec_…) and save it under Payments → Stripe → Advanced if it was not created automatically.

Online orders are fulfilled when Stripe sends checkout.session.completed. The order success page can also confirm payment if the customer returns to your shop before the webhook arrives.

Prefer instant payment methods in your Stripe dashboard (cards, Afterpay, and similar). Deferred methods such as direct debit may delay order fulfillment in TatShop.

Online — Manual (unpaid checkout)

Enable under Settings → Payments → Online — Manual when you want customers to place online orders without paying by card (for example bank transfer or pay in store).

  1. Turn on Enable unpaid checkout.
  2. Set Button text (for example “Pay later”) and Cart short copy shown in the cart.
  3. Optionally add Email payment instructions (how to pay) — these appear on the unpaid order email only.

On the cart, customers confirm the order and receive an unpaid confirmation. Digital downloads and tax invoices wait until you Mark as paid on the order. You can Cancel unpaid order to restore stock and gift card credit. See Orders.

If Stripe is not connected and unpaid checkout is off, the cart shows that online ordering is coming soon (coupon and gift card fields are hidden).

Taking card payment in TatShop

Use the admin POS screen, booking Settle booking, deposit Collect payment, or gift card Take payment:

  1. Build the sale (or open the payment step) and choose QR code payment or a manual method.
  2. For QR code payment: show the QR to the customer (or open the pay link); they complete Stripe Checkout on their phone. Wait until TatShop records completion.

Manual methods and gift card tenders can be combined via Split payment. Turn QR code payment off under Settings → Payments without disconnecting Stripe.

Checklist

  1. Website address is live HTTPS — Settings → General
  2. Stripe connected (secret key + webhook) for online cards, gift cards, deposit links, or QR — Settings → Payments
  3. Stripe webhook checkout.session.completed → /api/webhooks/stripe
  4. Online — Manual enabled if you offer unpaid cart checkout — Settings → Payments
  5. QR code payment and manuals as you want them — Settings → Payments

Common problems

Online order paid but missing in Orders — Confirm Stripe webhook delivery for checkout.session.completed. Check that Online sales are enabled under Settings → General.

QR code payment not offered — Connect Stripe under Online — Integrated, and enable QR code payment under In store — Integrated.

Cart shows “Online ordering coming soon” — Connect Stripe, or enable Online — Manual unpaid checkout.

Unpaid order has no tax invoice / downloads — Record payment with Mark as paid (or cancel the unpaid order). Invoices and digital downloads are created after payment is receipted.