Reference
Demo data
The demo account, coupon, test cards, express wallet outcomes, preview links, seeded catalogue and test switches available in Demo Mode.
Demo Mode runs the storefront with an in-memory store instead of WordPress. It starts when COMMERCE_SOURCE is unset, mock or fake. The data below is seeded from packages/adapter-fake/src/seed/. No real money moves, no payment provider is contacted and no email is sent. See Demo Mode for the feature tour.
Sign-in and coupon
Section titled “Sign-in and coupon”| What | Value |
|---|---|
| Demo account | demo@retail.store |
| Password | demo1234 |
| Coupon | DEMO10: 10% off the cart |
The demo account comes with an order history, invoices and a filled Address Book (see Demo account). You can also register new accounts. Demo Mode skips the verification email, so a new account can sign in at once, and it lasts until the server restarts. Google and Facebook sign-in are not offered in Demo Mode, because there is no backend to verify them.
Card payments
Section titled “Card payments”The checkout’s demo card form accepts these numbers with any future expiry date and any three-digit security code.
| Card number | Outcome |
|---|---|
4242 4242 4242 4242 |
Approved |
4000 0000 0000 0002 |
Declined, with the storefront’s generic decline message |
4000 0000 0000 3220 |
A simulated bank check (3-D Secure) first; complete it to pay, or cancel |
Checkout also offers Pay with DemoPay, a stand-in for a payment company’s approval window, plus the offline methods: direct bank transfer, cheque and cash on delivery.
Express checkout
Section titled “Express checkout”A Demo Express Pay button appears on product pages, the cart and checkout. It opens a demo wallet sheet, standing in for Apple Pay or Google Pay, with preset shoppers and delivery addresses. Pick a card to choose the outcome:
| Demo wallet card | Outcome |
|---|---|
| Approved | The order is placed and paid |
| Declined | Nothing is charged; the shopper is told to try another card |
| Bank check, then paid | A bank check, then a paid order |
| Bank check, slow to confirm | A bank check that takes a while to confirm |
| Bank check, then refused | A bank check that fails; nothing is charged |
| Total changed after approval | Nothing is charged; the shopper approves the new total |
Product Preview
Section titled “Product Preview”Demo Mode has two unpublished products and a reusable preview link for each. The link never expires.
| Open this address | Previews |
|---|---|
/api/preview/enter?token=demo-preview-d1 |
“Stonewashed linen table runner”, a draft |
/api/preview/enter?token=demo-preview-d2 |
“Winter Spice soy candle”, scheduled to publish later |
The preview opens at /preview/product/{id} with the preview bar, and every write action is turned off. See Product Preview.
Seeded catalogue
Section titled “Seeded catalogue”| Item | What is seeded |
|---|---|
| Products | 35 published products, plus the 2 unpublished drafts above. Simple and variable products, sale prices, scheduled sales ending today, stock levels, and a few with gallery videos. |
| Categories | 9: Homemade, Food & Drink, Fashion, Home & Living, Ceramics and Beauty, with Clothing, Bags & Accessories and Footwear under Fashion |
| Brands | 4: Hearth & Wick, Field & Loom, Meadow Pantry and Aurelia |
| Tags | 7: Handmade, Gift ideas, Small batch, Plastic-free, Organic, Vegan, Limited edition |
| Blog | 7 articles |
| Reviews | Product reviews, including photos, videos and replies |
| Policy pages | All five policy pages |
| Theme | A complete header, footer, mobile tab bar, colours and Home page content |
| Arabic | Arabic names and copy for products, categories and theme labels, used when STOREFRONT_LOCALES includes ar |
| Store settings | Currency EUR, timezone Europe/Berlin, store country Germany |
To try back-in-stock alerts, open Stoneware serving bowls (pair) at /product/ceramic-bowl-set, which is out of stock.
Demo account
Section titled “Demo account”Signed in as demo@retail.store, you get:
- 8 orders, numbered 9001 to 9008, covering completed, partly refunded, fully refunded, cancelled, failed, on hold, processing and pending, so every status and the status tracker can be seen.
- Invoices on two completed orders, downloadable as PDF from the order list and details.
- An Address Book with a home and an office address in Berlin.
Turnstile in Demo Mode
Section titled “Turnstile in Demo Mode”Turnstile is off in Demo Mode unless you set a site key. To show and enforce it on the review, reply and stock-alert forms, use one of Cloudflare’s test keys:
DEMO_TURNSTILE_SITE_KEY=1x00000000000000000000AAThat key always passes, on any host.
Test switches
Section titled “Test switches”These make Demo Mode behave like a backend that lacks a feature. The smoke and contract suites use them; you can too, to see how the storefront degrades.
| Variable | Effect |
|---|---|
FAKE_EMBEDDED_PAYMENT_OFF=1 |
No card, DemoPay or express payment; only offline methods |
FAKE_ADDRESS_BOOK_OFF=1 |
No Address Book; accounts fall back to one billing and one shipping address |
FAKE_EMPTY_CATEGORY=1 |
Adds an “Empty shelf” category with no products |
FAKE_POLICY_PAGES_OMIT=cookies,terms |
The listed policy pages answer 404 and their links disappear |
FAKE_THEME_CUSTOM_SCRIPTS=1 |
The demo backend sends inline header and footer scripts |
FAKE_THEME_DOCLESS=1 or FAKE_THEME_OMIT_HEADER=1 |
No header or footer layout from the backend; the built-in ones show |
DEMO_NOW=2026-07-23T12:00:00+02:00 |
Pins the demo clock (outside production), so “Today’s deals” is predictable |
What Demo Mode does not cover
Section titled “What Demo Mode does not cover”- Newsletter sign-up, the contact form, profile photo upload and compare sync across devices talk to the Companion plugin directly, outside the commerce layer. They need a WordPress backend and do not complete in Demo Mode.
- Emails are not sent. Verification is skipped, and reset and back-in-stock emails exist only in WooCommerce mode.
- The demo wallet only imitates Apple Pay and Google Pay; real wallets need WooCommerce mode with Stripe.