Someone paid and no money arrived
Two symmetrical disasters live here. Either your checkout works beautifully and no money ever reaches you, or you believe you're testing and real cards are being charged. Both come down to which keys your app is using, and it's a two-minute check.
Which mode am I in?
Stripe keys announce themselves. Look at the keys in your app's settings:
| key looks like | meaning |
|---|---|
pk_test_ / sk_test_ | test mode: fake cards only, no real money, nothing reaches your bank |
pk_live_ / sk_live_ | live mode: real cards, real money |
The pk_ one is publishable and fine to appear in your site's code. The sk_ one is secret and must never be in anything the browser downloads. If you're unsure whether yours leaked, our free scanner checks a live site in seconds, and the emergency steps cover what to do if it did.
Going live properly
- Swap both keys in your host's environment settings, not in the code. Publish again afterwards, since these are read when the site is built.
- Recreate the webhook. This is the step almost everyone misses. Webhooks are how Stripe tells your app "that payment succeeded", and test-mode webhooks and live-mode webhooks are separate. In Stripe, switch to live mode, add an endpoint pointing at your real domain, and copy its signing secret into your app's settings. If the webhook still points at a preview URL, payments will succeed at Stripe and your app will never know, so orders won't appear.
- Complete Stripe's account activation. Bank details, business details, identity. Until that's done Stripe holds the money rather than paying it out, which looks identical to a broken integration.
- Buy something yourself. A real card, the smallest real amount, on the live site. Then confirm all three: Stripe shows the payment, your app shows the order, and your Stripe balance shows a payout pending. Refund yourself afterwards.
The prompt to paste
Test cards never touch real money, so testing costs nothing and proves everything up to the final step. The one thing test mode can't prove is that your bank details are right, which is why the small real purchase is worth doing.
Plyo is the home for AI-built projects — every version saved, one click to undo, one click to publish, plus a safety check, visitor counts and backups. Free to start: 3 projects, no card needed.
Give your project a home