Religh

WooCommerce Payment Errors: What to Check

A WooCommerce payment error can happen before, during or after the provider accepts an attempt. Match the order with the transaction first, then investigate the gateway, account and notification path.

Read the guide
Fixes4 min read
The Religh raccoon checks an amber hourglass on the front of a phone while holding a blank payment card.
Search Field Notes

A useful next read.

36 field notes

All Field Notes

Confirm whether money moved before retrying

Check the WooCommerce order and the matching event in the payment provider’s account. A checkout error or missing confirmation page does not prove that no payment happened. Match the amount, currency, time and transaction reference through an authorised account owner, keeping customer details private.

If the provider has accepted or authorised an attempt, do not ask the customer to keep retrying while the order is unclear. Review the order notes and gateway state before changing fulfilment or recording a refund. Authorisation, capture and settlement are separate provider states; use the gateway’s terminology instead of treating every successful-looking event as completed payment.

Distinguish a decline from an integration error

A provider decline can relate to the payment method or merchant account and may need a provider-side response. An integration error can happen before the provider sees an attempt, or when the store fails to process the response. Read the exact message and the matching provider event to distinguish those paths.

Record the gateway extension and version, test/live mode, currency and purchase type. Express payments, Checkout blocks and subscriptions can have different requirements. A provider’s name alone does not establish support for every flow. Check the documentation for the installed extension and the feature being used, especially after a checkout change.

Check the same payment in three places

Match the customer message, gateway transaction and WooCommerce order.

  • What you see

    Checkout result

    Record the visible message and whether the attempt created an order.

    What to check

    Check before asking for a retry.

  • What you see

    Provider transaction

    Match amount, currency, time and reference through the authorised account owner.

    What to check

    Confirm its payment state.

  • What you see

    WooCommerce order

    Compare notes, status and the gateway notification for the same transaction.

    What to check

    Reconcile the mismatch.

Read the order notes and the matching gateway log

Use the order’s notes to find the transition WooCommerce observed. Then review the gateway log or provider event for the same attempt. Keep the scope small: a specific test and timestamp are more useful than a large export of unrelated customer activity.

If diagnostic logging needs to be enabled, control access and turn it off when no longer needed. Logs can include identifiers or sensitive configuration, so redact them before sharing. A generic HTTP code is not a complete diagnosis; interpret it in the gateway’s context and look for the request or error detail that explains the failed step.

The Religh raccoon connects a cable between two supported modular devices.

Trace the notification path when payment and order disagree

If the provider confirms payment but WooCommerce remains pending, examine the path that informs the store. Depending on the gateway, that can involve webhooks, callbacks or a return flow. Check the configured destination and the delivery result in the provider dashboard, then compare it with the store’s logs.

A firewall, access restriction, wrong URL or server error can interrupt that path. Keep webhook authentication and signature checks intact while investigating. Do not solve a delivery problem by making the endpoint accept unverified events or manually marking every pending order paid. Match the specific transaction first, then correct and test the notification flow using the provider’s documented method.

Reproduce the failure through the right test mode

Use an isolated store and the gateway’s supported test environment where possible. Repeat the required product, currency and checkout path, including recurring or express behaviour if relevant. Review recent extension, theme, cache and server changes one at a time when the evidence points there.

After a fix, verify the success and failure paths that the gateway supports: the displayed result, order transition and relevant notification. Sandbox success establishes that defined test path; production account conditions and settlement need their own confirmation. Record those limits so the business knows what was checked and which provider action is still outstanding.

The Religh raccoon browses abstract product cards on the front of a phone.

Common questions

Why does a paid order still show Pending payment?

First verify the matching provider transaction. Then investigate order notes and the gateway’s notification/return path. Avoid duplicate attempts or manual fulfilment changes until the mismatch is understood.

Does Processing mean the money has settled?

It describes the store’s order state. Settlement and other provider-side states need confirmation in the payment account using that provider’s definitions.

Will changing payment plugins fix a decline?

A provider decline may be unrelated to store code. Check the attempt and account-side reason before replacing an integration.

Can I use the same gateway for Checkout blocks and subscriptions?

Only if the exact extension and version support the required features together. Verify each required purchase and renewal flow rather than assuming support from the provider name.

Can I mark an order paid manually?

First reconcile the exact provider transaction and the gateway/order mismatch. A manual status change should follow a confirmed business decision; it should not conceal an unverified payment or a broken notification path.

Useful documentation

A related guide

WooCommerce Order Pending After Payment: Trace the Mismatch
LET’S TALK

Tell us about
your store.

Enter an international phone number.

PrivacyTerms

Send your enquiry