Skip to content

Shop

Catalog

Browse by category, add to the cart, and check out. Stock is real, so what you reserve comes off the shelf.

Mock checkout — no card needed

Nothing in this category

Try another category, or the full catalog.

How this worksShow

Products, cart, inventory, and orders are real database rows. Adding to the cart does not touch stock; placing an order reserves it with one atomic decrement and snapshots the prices, so a later price change never alters a receipt. Payment sits behind the same kind of seam as email and AI: a mock that confirms instantly with no account, or Stripe hosted Checkout when the keys are set. The badge above says which is running.

Before you try it

What it needs

STRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETWithout them: A mock provider confirms payment instantly so the whole shop runs with no account.

Mode right now

FallbackThis deployment runs the plain path, so what you try here costs nothing and reaches no provider.

A safe failure to try

Add more of something than is in stock: the cart caps at what is left, and the checkout refuses the rest rather than overselling.

Read the code:src/lib/commerce/cart.tssrc/lib/commerce/checkout.tssrc/app/shop/actions.ts