Stripe checkout shows the wrong price

Env-var mismatch and switching between test and live mode.

Stripe Checkout shows a different price than expected.

Why this happens

  • Test mode vs live mode mismatch — different price IDs in each
  • Env vars in Vercel are out of date
  • Stripe product was renamed but Shelfwise still uses old ID
  • Multiple prices exist for the same product (Stripe allows this)

Verify env vars

Vercel → Project Settings → Environment Variables. Check:

  • STRIPE_STARTER_PRICE_ID
  • STRIPE_COMMUNITY_PRICE_ID

The IDs should match Stripe Dashboard → Products → [product] → Pricing.

Check Stripe mode

  • Test mode price IDs start with price_test_
  • Live mode price IDs start with price_

If your env var has a price_test_ ID but you're in live mode (or vice versa), there's a mismatch.

Update env vars

  • Vercel → Settings → Environment Variables → Edit
  • Update STRIPE_STARTER_PRICE_ID and STRIPE_COMMUNITY_PRICE_ID to match the right mode
  • Redeploy

Stripe price change

If you increase a price in Stripe, existing subscribers stay on their original price (Stripe doesn't auto-update). New signups get the new price.

Discount appearing

If a promo code is auto-applying, check Stripe → Discounts → see which is active. Remove unwanted promos from Settings → Promotional → manage codes.

Still stuck? Email hello@tryshelfwise.comand we'll get back within one business day.