Configure your plans and Stripe
Connect Stripe prices and webhooks, test checkout, and prepare for live payments.
Create Stripe test products and prices, then configure matching keys, price IDs and the webhook signing secret in the deployment environment. Keep plan descriptions aligned with the catalog, configure the webhook endpoint and Customer Portal, and restart the backend after deployment configuration changes. Website settings shows configuration status without exposing keys.
Use Stripe’s official test card only in its test environment: 4242 4242 4242 4242, a future expiry, and any three-digit CVC. When asked for billing details, complete the required test form fields. A test-mode purchase does not charge a real card.
NEXT_PUBLIC_DEMO_MODE controls the on-page demo notice only. The backend Stripe credentials determine whether payments are in test or live mode. Missing payment configuration disables checkout; switching to live credentials can create real charges. Complete the test journey before configuring live products and keys.
After checkout
Return to billing and allow the payment result to sync before refreshing your subscription and invoices. If your plan has not updated, refresh shortly or contact the site owner.
Test a declined payment
In Stripe test mode only, use 4000 0000 0000 0002 to simulate a declined card. Check that the failed payment does not grant paid access.
APP_BILLING_ENABLED=true
APP_BILLING_STRIPE_SECRET_KEY=sk_test_...
APP_BILLING_STRIPE_WEBHOOK_SECRET=whsec_...
APP_BILLING_STRIPE_PRICES_PRO_MONTHLY=price_...
APP_BILLING_STRIPE_PRICES_CREDITS=price_...