# How do I test my integration when test mode isn't available?

Stripe provides sandboxes as separate testing environments where you can build and test your integration without moving real money or affecting live data.
## Why use a sandbox?
Sandboxes provide a safer and more flexible way to test:
- **Isolated data and settings:** Changes made in a sandbox don't affect your live account or other sandboxes.
- **Separate environments:** You can use different sandboxes for development, automated tests, staging, API upgrades, or feature testing.
- **Controlled access:** You can give developers or implementation partners access to a sandbox without granting access to live data.
- **Broad API support:** General sandboxes support Stripe API v1 and v2.
- **Realistic testing:** You can use test API keys, test payment methods, webhooks, and supported simulations to test your integration without processing real payments.
## How are general sandboxes different from the test mode sandbox?
Some existing Stripe accounts have a testing environment called the **test mode sandbox**, which appears as **Test mode** in the account picker. Both environments let you test without moving real money, but the test mode sandbox shares some settings and access behavior with live mode.
General sandboxes provide stronger separation from live mode. Each sandbox has its own data, API keys, settings, and access controls. You can also create multiple sandboxes for different testing purposes.
If your account doesn't show **Test mode** or test mode sandbox API keys, use a sandbox for testing. You don't need the test mode sandbox to build and test a Stripe integration.
## How do I start testing?
1. Open the account picker in the Stripe Dashboard, or go to the [Sandboxes page](https://dashboard.stripe.com/sandboxes).
1. Select **Switch to sandbox** and create or choose a sandbox.
1. Copy the sandbox's test API keys.
1. Create the test data your integration needs.
1. Update your test configuration, webhooks, fixtures, or scripts to use the sandbox's keys and object IDs.
1. Use Stripe's test payment methods and supported simulations to validate your workflows.
Test data is isolated by environment. Objects created in the test mode sandbox, another sandbox, or live mode aren't available in your current sandbox, so you might need to recreate products, customers, subscriptions, and other test resources.
## What if existing instructions refer to test mode?
Older documentation, saved instructions, or integration code might refer to test mode. In most cases, you can follow the same testing workflow in a sandbox by using the sandbox's test API keys and recreating the required test data.
## What if I need the test mode sandbox?
Stripe doesn't recommend restoring the test mode sandbox. Use general sandboxes for testing whenever possible. If you already use the test mode sandbox on another Stripe account and need it for a workflow that general sandboxes don't support, you might be eligible to restore it.
## Learn more
- [Testing environments overview](https://docs.stripe.com/testing/overview)
- [Testing use cases and comparison of testing environments](https://docs.stripe.com/testing-use-cases#compare)
- [Create and manage sandboxes](https://docs.stripe.com/sandboxes/dashboard/manage)