Skip to content

Billing Settings (Admin)

Admin → Billing Settings (/admin/billing-settings) shows secret-safe billing configuration status. Values come from environment variables — the UI is read-only for credentials.

What the page shows

  • Current provider: MOCK, STRIPE, or LEMON_SQUEEZY
  • Whether Stripe / Lemon keys are configured (boolean only — never values)
  • Mock mode active indicator
  • Checkout success/cancel URLs
  • Webhook endpoint paths and configured status
  • Support email reference

Environment-backed settings

SettingEnv variable(s)
ProviderBILLING_PROVIDER
Success URLBILLING_SUCCESS_URL
Cancel URLBILLING_CANCEL_URL
Support emailBILLING_SUPPORT_EMAIL
StripeSTRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_PRICE_*
Lemon SqueezyLEMON_SQUEEZY_API_KEY, LEMON_SQUEEZY_STORE_ID, LEMON_SQUEEZY_WEBHOOK_SECRET, LEMON_SQUEEZY_VARIANT_*

Provider Price/Variant IDs on plans (admin Plan Catalog) map DB plans to Stripe/Lemon when real billing is enabled. IDs are optional in mock mode.

Mock mode (default)

env
BILLING_PROVIDER=MOCK
  • No Stripe or Lemon keys required
  • Dashboard billing uses published plans from the database
  • Mock checkout completes in-app for testing

Switching to real billing

  1. Set provider env keys on the server (never in git)
  2. Map plans in Admin → Plans with Stripe Price ID / Lemon Variant ID
  3. Set BILLING_PROVIDER=STRIPE or LEMON_SQUEEZY
  4. Configure webhook URLs in provider dashboard → API routes documented in Payment Webhooks
  5. Restart API after env change

Demo mode can block real checkout via DEMO_REAL_BILLING_DISABLED. See Demo Mode.

LaunchKit Pro by LaunchKit Labs — buyer documentation. No secrets in this site.