Select Page
Case study

Live Checkout Stuck in Test Mode

Customers received generic decline errors at checkout. The store had launched without ever switching out of Stripe test mode.

Platform WooCommerce
Gateway Stripe
Issue Checkout Failures
Cause Test Mode Live
Outcome ✓ Resolved
Overview

A store owner launched their WooCommerce store and immediately started receiving reports from customers that payments weren't going through. The checkout page loaded normally, but every payment attempt failed with a generic error. Orders weren't recording. Revenue was zero.

The cause wasn't a processor outage, a declined card, or a theme conflict. The store had never been switched out of Stripe test mode.

The problem

A working checkout that can't process a single payment

The store appeared fully set up. Customers could fill in billing details, enter a card number, and submit the order. The payment step failed every time with no actionable error message.

From the customer's perspective, their card had been declined, or the store seemed broken. From the store owner's perspective, no revenue was coming in and there was no obvious reason why. Neither read on the situation pointed to the actual cause.

What I did

Investigation

The first place to check in any checkout failure is the payment gateway configuration. The Stripe Gateway account details screen showed two things immediately: test mode was enabled, and payment was marked as disabled. The store was connected to a test Stripe account, not a live one.

I confirmed this against the WooCommerce gateway log. The payment attempt had reached Stripe and was rejected, with the response showing a decline_code of generic_decline and livemode set to false. That last field was the definitive answer: every transaction on this store was being processed in test mode. Real cards cannot be charged in test mode regardless of the card number, account balance, or card type.

The misconfiguration was invisible to the customer. The checkout page loaded, the form accepted card details, and the error message gave no indication the problem was on the store's end. Customers assumed their card had been declined and abandoned the purchase.

The fix

Resolution

I disabled test mode in the WooCommerce Stripe Gateway settings and reconnected the store to the live Stripe account, replacing the test API keys with live keys. I ran a real low-value transaction to confirm the charge processed and appeared correctly in both WooCommerce and the Stripe dashboard before closing the engagement.

Results
Metric Before After
Checkout success rate 0% — every attempt declined 100% on live cards
Gateway mode Test mode, live storefront Live mode, verified
Revenue processed $0 Confirmed live transaction
Time to diagnose Under 1 hour
Customer-facing error Generic decline, no cause shown Resolved — no customer-side error
Key takeaway

Test mode is meant to be invisible to customers right up until launch — and invisible to a store owner once it's live, which is exactly the danger. A gateway can be fully configured, branded correctly, and accepting form submissions while quietly rejecting every real payment. Before any go-live, confirm live mode is active and run one real transaction to verify.

Not sure if your store is fully live?

A quick gateway check can confirm whether your store is processing real payments or quietly running in test mode. Schedule a free 15-minute consultation.

Schedule free consultation