All real data checks
payments

stripe

Stripe live readiness

What must be configured before the first real payment: live key, webhook, Price IDs, redirect URLs, and digital-goods verification.

Stripe Checkout, Stripe Webhook, reading_records, finance_events.

required env

STRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETNEXT_PUBLIC_SITE_URLSUPABASE_SERVICE_ROLE_KEY

optional env

STRIPE_PRICE_QUICKSTRIPE_PRICE_STANDARDSTRIPE_PRICE_DEEPSTRIPE_PRICE_PREMIUMSTRIPE_PRICE_MASTERSTRIPE_PRICE_GRANDALLOW_STRIPE_TEST_KEYS_IN_PRODUCTION

Live keys

Production should use live Stripe keys. Test keys may remain only for a short controlled test and must be turned off after verification.

  • STRIPE_SECRET_KEY starts with sk_live_ for real launch.
  • Webhook endpoint is created in Stripe Dashboard and points to /api/stripe/webhook.
  • Success and cancel URLs point to OmenHall domain, not preview.

Price IDs

For a stable catalog, use Stripe Price IDs and keep inline price_data as a test fallback.

  • Each paid format is connected to the correct Price ID.
  • Currency and amount match the pricing page.
  • Refund policy is visible before checkout.

Risks

  • Webhook is missing: payment succeeds but the scroll does not unlock.
  • Test key remains in production without an explicit flag.
  • Stripe price does not match the site.

Pre-launch QA

  • Run a test card payment on preview and a small live payment on production.
  • Check receipt, account archive, and access link.
  • Check that repeated webhook delivery does not create duplicates.
PricingPublic priceProductsWhat is soldRefundsDigital-goods rules