Going live: switching gateways from test to live
While you’re building your store you connect each payment gateway in test (or sandbox) mode, so you can place practice orders without moving real money. Going live is the switch from those test credentials to your real, live ones — the point where your store starts taking actual payments. This guide walks through that switch for each gateway and how to confirm it worked. Open Settings → Payment Gateways to begin.
Note: Test and live are separate worlds at every payment provider — separate keys, separate credentials, often a separate login. Going live is never just a switch inside TitanCart; for each gateway you paste in the live credentials from the provider and tell TitanCart to stop using sandbox. Always finish with Test Connection and one small real order before you announce your store.
1. Before you switch
A short checklist so nothing’s missed when the money becomes real:
- Finish your store basics — store details, currency, and outgoing email should all be set (see the store setup checklist).
- Test a full order first — place at least one practice order through each gateway in sandbox so you know the checkout flow works before real cards are involved.
- Activate your account on the provider’s side — most providers require business details, identity, and bank information to be verified before they’ll issue live credentials or release funds. Do that in the provider’s own dashboard first.
- Decide which gateways go live — you only need to switch the ones you actually intend to offer. Any gateway left in sandbox should be deactivated so customers can’t pick it.
2. The pattern for every gateway
The switch is the same shape for each card/online gateway:
- Get your live credentials from the provider’s dashboard (these are different from the sandbox ones).
- In Settings → Payment Gateways, open the gateway and go to the Configure tab.
- Replace the sandbox credentials with the live ones, and turn off Sandbox Mode (Stripe is the exception — see below; its live/test state is decided by the keys themselves).
- Save.
- Click Test Connection. TitanCart contacts the provider and tells you plainly whether you’re connected to the sandbox or the live environment — the quickest confirmation that the switch took.
Note: The per-gateway Sandbox Mode checkbox (in each gateway’s Configure tab) is the switch that matters. When it’s on, TitanCart talks to the provider’s sandbox; when it’s off, it talks to the live service and real charges happen.
3. Stripe
Stripe doesn’t use a Sandbox checkbox — your keys decide the mode. Test keys start with pk_test_ / sk_test_; live keys start with pk_live_ / sk_live_. To go live:
- In your Stripe Dashboard, switch out of test mode and open Developers → API keys to copy your live Publishable Key and Secret Key.
- Paste them into the gateway’s Configure tab, replacing the
_test_keys, and Save. - Set up a live webhook. Stripe uses a webhook to confirm payments back to your store — and each Stripe mode has its own signing secret, so your test webhook won’t work for live. In the editor you’ll see a Webhook URL ending in
/webhooks/stripe; add that URL in Stripe Dashboard → Developers → Webhooks, subscribe it topayment_intent.succeeded,payment_intent.payment_failed, andcharge.refunded, then copy the endpoint’s Signing secret (it starts withwhsec_) into the gateway’s Webhook Signing Secret field and Save. - Click Test Connection — it should report “You are using LIVE mode keys.”
Note: The Stripe webhook isn’t optional for live. If the signing secret is missing, TitanCart shows a warning and rejects incoming Stripe webhooks — which means a card payment that finishes off-site (the inline Card Elements / 3-D Secure flow) may never be marked complete, leaving the order stuck. Set the live signing secret before you take real Stripe payments.
4. PayPal
- At developer.paypal.com → Apps & Credentials, switch from Sandbox to Live and open (or create) your live app to get its Client ID and Client Secret. These are different from your sandbox app’s credentials.
- Paste them into the gateway’s Configure tab, turn off Sandbox Mode, and Save.
- Click Test Connection — it should report “connected to the LIVE environment.”
PayPal payments are confirmed to your store the moment the customer returns from PayPal, so there’s no extra webhook step to configure here.
5. Square
- In the Square Developer Dashboard, switch your application from Sandbox to Production and copy the production Application ID (it starts with
sq0idp-, notsandbox-sq0idb-), Access Token, and the Location ID (starts withL) for the location you’re selling from. - Paste them into the gateway’s Configure tab, turn off Sandbox / Test Mode, and Save.
- Click Test Connection — it confirms the connection, tells you you’re on the LIVE environment, and checks that your Location ID exists.
6. Authorize.net
- Sandbox and production are separate Authorize.net accounts. Log in to your production Merchant Interface and, under Account → Security Settings → API Credentials & Keys, get your live API Login ID, Transaction Key, and Signature Key.
- Paste them into the gateway’s Configure tab, turn off Sandbox / Test Mode, and Save.
- Click Test Connection to confirm the live credentials authenticate.
7. Offline methods don’t have a live switch
Offline payment methods — Check, Cash on Delivery, and Bank Transfer — don’t talk to a payment provider, so there’s nothing to switch. They’re ready as soon as they’re activated. (Running Test Connection on one simply confirms there’s no API to test.)
8. Verify you’re really live
Two checks, in order:
- Test Connection on each live gateway — it should say LIVE (or production), not sandbox/test.
- Place one small real order through your own storefront with a real card or account, then confirm it landed on the provider’s side and refund it from the order’s Sales screen so you’re not out of pocket.
How to confirm the test order on the provider’s side:
- Stripe — in the Stripe Dashboard, make sure you’re not in test mode, then open Payments; your order should appear as a live payment.
- PayPal — in your live PayPal business account, open Activity and look for the payment.
- Square — in the Square Dashboard, open Transactions. (While you were testing, sandbox transactions live in the separate sandbox Seller Dashboard — see finding your Square sandbox transactions.)
- Authorize.net — in the production Merchant Interface, open Transaction Search (or Unsettled Transactions) to find it.
What going live does — and don’t
Note: Going live means real money. Each gateway is switched independently — pasting live credentials from the provider and (for PayPal/Square/Authorize.net) turning off Sandbox Mode; Stripe switches on its key prefix (
_live_) and needs a live webhook signing secret. There’s no single store-wide “go live” button — switch each gateway you offer and Test Connection to confirm the environment. Leave any gateway you’re not taking live deactivated. Offline methods (Check, COD, Bank Transfer) have no test/live state.
Troubleshooting
- Test Connection still says I’m in sandbox/test. For PayPal, Square, or Authorize.net, make sure Sandbox Mode is off in that gateway’s Configure tab and that you saved. For Stripe, check the keys actually start with
pk_live_/sk_live_—_test_keys always report test mode. - Test Connection fails after I switched. Live credentials are different from sandbox ones — re-copy them from the provider’s live/production dashboard (it’s easy to paste a sandbox key by mistake). Confirm your provider account is fully activated for live payments.
- Live Stripe orders get stuck and don’t complete. This is almost always the webhook. Create a live webhook endpoint in Stripe pointing at the
/webhooks/stripeURL shown in the editor, subscribe the three events, and paste the endpoint’s live signing secret (whsec_) into the gateway. Without it, TitanCart rejects Stripe’s confirmations and Card Elements / 3-D Secure orders never finalize. - A real payment went through but the order shows as pending/failed. Check Test Connection (right environment?) and, for Stripe, the webhook signing secret. Then compare against the provider’s dashboard to see whether the charge actually succeeded on their side.
- I want to keep testing one gateway while others are live. That’s fine — each gateway’s mode is independent. Just make sure any gateway left in sandbox is deactivated so customers can’t choose it at checkout.
- Customers can still pick a gateway I haven’t taken live. Deactivate it in Settings → Payment Gateways until its live credentials are in and Test Connection confirms LIVE.
See also
- Payment gateway overview — how gateways work in TitanCart and which one to choose.
- Stripe setup, PayPal setup, Square setup, and Authorize.net setup — where each gateway’s credentials come from.
- Finding your Square sandbox transactions — where your test Square orders show up before you go live.
- Managing orders (the Sales screen) — reviewing and refunding the real orders that start arriving.
- Store setup checklist — the full path from a fresh install to taking live payments.