Connect. Test.
Then launch.
£1.99 per month. New stories every Monday. The site is a private pre-launch edition.
1. Create your Stripe account
Open Stripe, enter your own business details, complete verification and add your bank account for payouts. Stripe receives subscription payments and pays your bank on its payout schedule. Keep bank details inside Stripe.
2. Create the monthly price
In the test environment: Product catalogue → Add product → Oh Dear, You’re Dead membership. Set a recurring price of GBP £1.99 every month, with no trial. Copy the price_… identifier.
3. Configure Apple Pay and cancellation
Enable Apple Pay for hosted Checkout in Stripe’s payment method settings and verify with an eligible device and wallet in test mode. Stripe controls wallet availability. Test recurring payments before enabling live checkout.
Enable the Stripe customer portal: payment method updates, invoices and cancellation at the end of the current paid period. Add final policy and support links. Configure renewal information, failed-payment emails and retry rules. Check duplicate-subscription prevention.
4. Connect this site
The developer securely sets STRIPE_SECRET_KEY and STRIPE_PRICE_ID as hosted server secrets. Use test values first. Never paste secret keys into chat or source files. No public card form is embedded here: the subscribe button creates a Stripe Checkout session and redirects to Stripe. A successful payment is linked to the signed-in member.
The application associates Stripe customers with a hashed site-specific ChatGPT identity. It checks Stripe on the server before sending member stories or quizzes. Simply returning to a success URL does not grant access. The account page creates a private Stripe portal session for billing and cancellation.
5. Complete the business setup
- Publish trader identity, a monitored contact and final membership, cancellation and refund terms.
- Complete privacy information: controller details, lawful bases, suppliers, transfers, retention and rights handling. Check the ICO fee assessment.
- Review current UK subscription guidance, required disclosures, confirmations, cooling-off rights and reminders.
- Check domain and name/trademark availability. The project does not establish rights to the name.
- Review ChatGPT sign-in suitability. Branded login and registration pages exist, but independent email/password accounts are not implemented.
6. Test all access and billing states
Use Stripe test mode to verify signup, checkout success and decline, renewal, failed payment, cancellation, end-of-period expiry, duplicate checkout clicks, the same account returning, and separation of two different members. Confirm protected story text and quiz answers are absent from nonmember responses. A cancellation must remain available even if new sales are paused.
After policies, UI and test transactions are ready, the developer can enable LAUNCH_READY=true, replace pre-launch notices, activate Stripe and set matching live keys and price. Complete a controlled live purchase/refund check before opening the site to visitors. Never activate checkout while the pages still say payments are disabled.
7. Maintain the weekly archive
There are currently three sourced stories: one free case and two member cases, each with a quiz. Add researched stories to the source with a publishAt timestamp for Monday at 12 noon Europe/London and deploy them in advance. The site automatically reveals each preloaded story and quiz at its timestamp. Prepare the correct UTC offset for UK daylight saving. This does not generate stories or send emails. Build a backlog and a correction process. A synced membership database and webhooks can later reduce repeated Stripe lookups and support payment reconciliation and email fulfilment.
8. Connect the merchandise shop
Choose a supplier, approve samples and confirm the final product and delivery prices. Set MERCH_SHIRT_URL and MERCH_MUG_URL to the approved HTTPS supplier product links. Remove example review content before public launch and replace it with genuine customer reviews as they arrive.
Image credits
The Reichelt archive photograph is self-hosted and credited on the sample story: unknown photographer, Wikimedia Commons, marked public domain. The justice and railway graphics are original editorial illustrations, not historical photographs.
