Before you start
- The order, time and exact error message.
- Provider access to check whether payment already occurred.
Before retrying payment, check whether funds were already collected. A confirmation error does not prove transaction failure.
Check whether payment already exists
When a customer sees an error after confirming payment, inspect the order and merchant account first. Confirmation may fail after a successful charge. Immediately asking the customer to retry can create a second transaction.
- Record time, amount, order and provider transaction reference.
- Do not collect full card numbers or security codes for diagnosis.
- Distinguish an explicit provider decline from checkout freezing before payment submission.
Check the gateway and environment
Under WooCommerce → Settings → Payments, confirm the method is enabled and connected to the correct account. Test and live credentials are distinct. Check currency, country and method availability for the failing scenario.
- On a copy, use only test credentials and test payment instruments.
- Review merchant onboarding requirements and account activation.
- Read the actual gateway's logs and documentation for the exact error.
Review the checkout page type
Check the assigned checkout page and whether it uses blocks or classic functionality. Extensions supporting one may not support the other. Test any checkout-type change on a copy with existing fields and integrations.
- Confirm declared compatibility for the gateway and field extensions.
- Test guest and signed-in customers on desktop and mobile.
- Check HTTPS and redirect loops before changing payment configuration.
Examine caching, scripts and validation
JavaScript optimization or faulty caching can prevent cart updates or payment submission. On a copy, disable one optimization at a time. Personal and transactional pages must not be served from a shared public cache.
- Review browser errors and logs matching the test time.
- Check required fields and validation messages that a theme may hide.
- Use our conflict-testing procedure when a theme or plugin changes the result.
Check provider notifications
A provider may confirm payment through a webhook independently of the browser's return. Blocked or misconfigured events can leave an inconsistent order state. Check settings against documentation for the actual installed gateway.
- Verify that gateway's required URL and events rather than inventing a generic endpoint.
- Check that access restrictions, firewalls or maintenance do not prevent notifications.
- Do not mark an order paid without confirming the financial result.
Retest and monitor the correction
Test success, decline and cancellation in the intended environment. Compare the transaction, order notes, inventory and emails. For an ambiguous live payment, consult the provider before another attempt or refund.
- Keep software versions and the change that resolved the issue.
- Monitor initial live payments without randomly repeating tests.
- Give support the journey, errors and useful references with private data masked.
Frequently asked questions
Should a customer immediately retry after an error?
Check the order and provider first. Payment may have succeeded despite a confirmation error; retrying can create another transaction.
Official documentation
Labels and options vary with versions, plugins and your account. Refer to publisher documentation for your configuration.
WooCommerce — Troubleshooting orders
WooCommerce — Cart and checkout pages