Test Mode

Test mode is Stripe's fully separate sandbox where you simulate payments with test cards and keys, so no real money ever moves.

Test mode is Stripe's simulated environment for building and validating an integration without processing real money. It mirrors live mode's features but runs on separate data, separate keys, and test card numbers, so you can create charges, trigger events, and rehearse edge cases safely.

What's separated

Test mode and live mode are entirely distinct. Test mode has its own:

  • [API keys](/glossary/api-key) — the sk_test_... and pk_test_... credentials.
  • Objects — products, prices, customers, and subscriptions created in test mode don't exist in live mode, and vice versa.
  • [Webhook endpoints](/glossary/webhook-endpoint) and their signing secrets.

Because the environments don't share data, a test object can never be part of a live payment. You switch between them with the toggle in the Stripe Dashboard.

Test cards

Test mode recognizes special card numbers that simulate specific outcomes — a successful charge, a decline, a card that requires authentication, one that later triggers a dispute. These aren't real card numbers and can't move money; they exist to let you exercise every branch of your code before launch.

An important boundary

Test cards only work in test mode. Stripe's Services Agreement prohibits running test transactions against live mode, and doing so with real cards risks account review. The rule of thumb: simulate everything in test mode, then flip to live mode when you're confident. Once live, tools like ChargeBell surface real payment events in Slack — but the building and testing all happen here first.

Related terms

Updated July 6, 2026