The $1 Pro plan
Your Pro plan costs $49 a year. shows three new Pro customers this morning who each paid $1.
This answers: Can users change the price at checkout? No coding needed. 3 quick decisions.
- Payments and webhooks
- Who may see what
Step 1 of 3
This creates the checkout. Click the line that let them choose their own price.
Click the line that causes it.
Can users change the price at checkout?
Yes, if your server takes the amount or price ID from the browser. Anything the browser sends can be edited, so a visitor can create a checkout at any price. Send only which plan the visitor wants, and have the server look up the allowed price from its own list before creating the checkout.
Breaks at Your server: Server charged the price the browser sent
Why AI tools write this bug
Generated checkout code often passes the price shown on the page straight to the server, because the page already knows it.
How to fix it
- Remove amount and price ID from the request body.
- Send only a plan or product name.
- Look up the price on the server from an allow-list.
- Grant access in the only for the expected price.
Check your own app
Paste this into Lovable, Cursor or Claude Code:
Without changing anything, find every place this project creates a Stripe checkout, payment or subscription. For each, tell me where the price, amount, quantity and discount come from: the request body (the browser), or a list on the server. Flag anything the browser can change.
Common questions
- Is a Stripe price ID safe to send from the browser?
- Not by itself. The visitor can send any price ID in your account, including cheaper or test prices. The server should choose the price.