Platform 3 · Backend & API Modules
API Fixture Freight: 150 Mock APIs
built by Kadri Tamm
All levels 150 files 381 aboard
Open fare
€1–€100
All lines running
Instant download · Free updates · 14-day refund
Line KJ-109 Platform 3 · Backend & API Modules
One-time and subscription billing for an existing Laravel app, with idempotent webhooks and a local payment ledger.
KT Maintained by Kadri Tamm
Every bullet below is in the download, working, the moment your payment clears.
4 parts · 70 files · 1h 29m of walkthroughs
12 files with a 11m walkthrough video. This part is documented in the architecture guide, with notes on every decision and how to change it for your own project.
The full file tree and the walkthroughs are in your download, available straight after checkout.
24 files with a 28m walkthrough video. This part is documented in the architecture guide, with notes on every decision and how to change it for your own project.
The full file tree and the walkthroughs are in your download, available straight after checkout.
19 files with a 34m walkthrough video. This part is documented in the architecture guide, with notes on every decision and how to change it for your own project.
The full file tree and the walkthroughs are in your download, available straight after checkout.
15 files with a 16m walkthrough video. This part is documented in the architecture guide, with notes on every decision and how to change it for your own project.
The full file tree and the walkthroughs are in your download, available straight after checkout.
4 parts · 70 files
1h 29m total length
Short list, and deliberately so. If you meet these you can start today.
Ticket Office adds Stripe billing to a Laravel application you already have. It handles one-time purchases through hosted Checkout, subscriptions with plan changes and cancellation, coupons, refunds, and a customer billing portal — and it keeps a local ledger of every payment so reporting never depends on the Stripe API being reachable.
Webhook handling is the part most billing integrations get wrong. Ticket Office verifies every signature, records each event before processing it, and makes every handler idempotent, so Stripe's retries and out-of-order delivery cannot double-fulfil an order or cancel the wrong subscription.
A full test suite uses recorded Stripe fixtures, so you can run it in CI without network access or a Stripe key.
Still unsure about something? Write to our contact page and a human answers, usually the same working day.
Reviews are written by people who bought this product. We publish the critical ones too.
4.5
Rated 4.5 out of 5Product rating · 2 reviews
Sebastian Klein
Laravel developer
We had double-fulfilled orders twice before. The event-record-first pattern here ended that, and the offline test fixtures run in CI without a Stripe key.
Amira Saleh
Product engineer
More concepts to learn than Cashier, but the local ledger makes our monthly reporting trivial. The comparison chapter helped me justify the switch.
Laravel architect, builds the SaaS and billing lines
Kadri has spent eleven years building subscription products in PHP, the last six of them on Laravel, for clients ranging from a two-person bookkeeping start-up to a national ticketing operator. She maintains the Starter Kit and billing lines at Koodijaam and writes every architecture guide herself. Her rule for a kit is simple: if she would not deploy it for a paying client, it does not ship.
One-time payment · lifetime access