Skip to main content
Test mode lets you build and test your integration without processing real payments. Live mode accepts real transactions from customers. Each mode has its own API keys, products, and webhooks.

Feature Availability

Environment Dependent vs Independent

Environment dependent features keep separate data in each mode. A change in one mode doesn’t affect the other. Environment independent features share one set of data across both modes. Your account settings, business profile, bank account, and verification documents are the same in test and live mode, so a change in either mode applies to both.

API Endpoints

Use these hostnames to route requests to the correct environment:
  • Test Mode: https://test.dodopayments.com
  • Live Mode: https://live.dodopayments.com
Most SDKs select the environment with a client option instead of a base URL, for example environment: 'test_mode' in TypeScript. The C# SDK takes the test mode base URL instead. See SDKs.

How Modes Work

In test mode, every transaction is simulated and no money moves. Use the test cards, UPI IDs, and other credentials in Testing Process to simulate successful and failed payments. That page also has a video of a complete test payment. Test credentials work only in test mode. Live mode is available as soon as you sign up. Live payments and payouts turn on after your account passes Account Verification. Products, API keys, and webhooks belong to the mode you create them in. To reuse a product, open it in test mode and copy it to live mode. The copy keeps the product’s details. A test mode API key doesn’t authenticate against live.dodopayments.com, and a live key doesn’t authenticate against test.dodopayments.com. To receive test mode webhooks on your local machine while you develop, forward them with the CLI webhook listener (dodo wh listen).

Subscriptions in Test Mode

Test mode subscriptions renew on their billing schedule, the same way live subscriptions do. Each renewal creates a simulated payment and delivers webhooks to your test mode endpoints. It can also send [TEST MODE] customer emails. No money moves. Renewals continue after you finish testing. As a result, new test mode payments can appear weeks after your last test, even when nobody on your team has signed in. If you see a test mode payment that you don’t recognize, check its subscription_id. A payment that belongs to a subscription you created during earlier testing is a renewal. To stop these renewals, cancel each test subscription that you no longer need. With your test mode API key, call Update Subscription and set status to cancelled.

Emails in Test Mode

Test mode sends real customer emails to the real recipient address, so use addresses you control. Each test mode subject starts with [TEST MODE]. A business can send up to 100 test mode emails per week. To stop test mode customer emails, turn off Test Mode Emails in Settings → Communication → Email. Live mode emails are not affected. See Test Mode Emails and Customer Email Logs.

Switching Between Modes

To switch modes, use the Live Mode switch in the dashboard sidebar. Use the API keys that belong to the mode you’re working in.

Next Steps

Testing Process

Test cards, UPI, BNPL, wallets, and bank debits.

Account Verification

Enable live payments and payouts.
Last modified on October 7, 2026