Skip to main content
Every project takes payments in test mode from its first build. Going live is a one-time step per workspace, followed by a per-project switch.

1. Connect your Stripe account

Open Integrations → Built-in and find the Payments card. Click Go live. Stripe walks you through your business details, a bank account for payouts, and identity verification. It takes about three minutes and Stripe saves your progress if you leave. You own this Stripe account. pre.dev creates it for you and connects it as a platform, but the dashboard, the balance, the payouts, and the customers are yours at dashboard.stripe.com. If you ever leave pre.dev, the account and its history come with you. When Stripe finishes verification the card shows Live. Verification is usually instant; occasionally Stripe asks for one more document, which the card lists.

2. Switch a project to live

Open the project’s settings (/integrations), then its Built-in tab, and use the Payments card to switch from Test to Live. The project’s sandbox restarts so the browser-side Stripe key and account match. If the app is published, republish it after switching so its front end gets the new values. From then on:
  • Checkout in that project charges real cards on your Stripe account.
  • Test cards are declined, as they are on any live Stripe account.
  • Webhooks still arrive at POST /api/stripe/webhook, signed with the same STRIPE_WEBHOOK_SECRET.
  • The code does not change. The same STRIPE_SECRET_KEY and host route to your live account.
Switch back to Test at any time. Other projects in the workspace stay in test mode until you switch them too.

Products and prices

Test-mode products and prices do not exist in live mode; that is how Stripe works. Apps built on pre.dev create their products and prices in code the first time they are needed, looked up by lookup_key or metadata, so the live account fills itself in on the first live checkout. If your app hardcodes a test price_… id instead, replace it with a lookup or create the price in your Stripe dashboard.

Fees

Live payments carry Stripe’s standard processing fees, paid by your account. When a pre.dev platform fee applies to live payments, the Payments card on Integrations → Built-in shows it next to Stripe’s. Test mode never charges anything.

Bring your own Stripe account instead

If you already run a Stripe account and would rather not connect through pre.dev, paste your own sk_live_… as STRIPE_SECRET_KEY in the project’s environment variables. pre.dev then drops its host override and account id, and your app talks to Stripe directly. Replace STRIPE_PUBLISHABLE_KEY (and its VITE_ and NEXT_PUBLIC_ copies) and STRIPE_WEBHOOK_SECRET with your own values too; pre.dev’s stay until you do. Webhooks for that account are yours to register in your Stripe dashboard.