Shop Checkout: Stub without keys · live when configured · SaaS portal separate stub
Payments
Stripe for workshops — shop pay-links vs SaaS billing
Two different Stripe stories. Shop invoices use Checkout sessions and webhooks so customers can pay tax invoices without you storing card data. SaaS billing (your Workshop Wrench subscription) is a separate portal path. Neither is “Stripe Connect for every shop’s bank” — that multi-tenant payout design is deferred.
Problem shops feel
Advisors chase card details over the phone; after-hours pay dies; bookkeepers re-key payment status into the job system.
How peers package it
US leaders (Shopmonkey, Tekmetric, AutoLeap) package text-to-pay and hosted pay tightly. AU peers often use partner pay (WorkshopPay) or EFTPOS brands. Wrench targets hosted Checkout + portal pay path first — card-present EFTPOS is a separate shell.
What works in Workshop Wrench today
- →Shop invoices: POST checkout-session path — Stub when STRIPE_SECRET_KEY is empty; live Checkout REST when key is set
- →Webhook HMAC marks invoice paid when live keys exist — CI stays on stub without secrets
- →Portal pay path reuses the same PaymentsService honesty (stub | live by key)
- →Payment records and GST invoices are Live in the workshop system regardless of Stripe
- →SaaS Customer Portal (manage subscription) remains Stub until billing Customer + keys are production-ready
- →Stripe Connect for per-shop payouts is deferred — not marketed as live
- →Never badge Stub as Connected; status follows GET /v1/integrations/catalog
Is Stripe live in the demo?
Without production Stripe keys the path returns honest stub behaviour so demos and CI never pretend a charge happened. With keys, shop Checkout can run in Stripe test/live mode per your env — still not “Connected” theatre for SaaS billing.
Is this the same as my Workshop Wrench subscription payment?
No. Shop Checkout collects money for customer invoices. SaaS billing portal is for your subscription to Wrench. Keep them separate in settings and in your mental model.
Do you support EFTPOS terminals?
Card-present AU (Windcave/Till class) is a partner shell with simulate paths — not live Connected EFTPOS. See the integrations hub; do not confuse with Stripe online Checkout.
Related: Text-to-pay · Payments feature · Invoicing & GST · Invoice process · All integrations