WooCommerce Orders Stuck on Pending, Processing or On Hold?

WooCommerce order statuses can look like a problem when they are actually describing different stages of the sale.

An order on Processing usually means payment succeeded and the order is waiting to be fulfilled. An order on Pending payment means payment has not been confirmed. An order on On hold may be waiting for an offline or delayed payment.

The first step is to understand what the status means before trying to “unstick” it.

WooCommerce order status meanings

StatusPlain-English meaningNormal next step
Pending paymentOrder exists, payment not confirmedCheck gateway/payment
ProcessingPayment received, order needs fulfilmentPack/ship or complete service
On holdWaiting for manual/delayed payment confirmationVerify payment or gateway note
CompletedOrder fulfilledNo action unless support/refund
FailedPayment failed or was rejectedCheck gateway and customer payment
CancelledOrder cancelledReview stock/payment if unexpected
RefundedRefund recordedCheck refund/payment record

1. Processing is not usually “stuck”

This is the most common misunderstanding.

For physical products, Processing normally means:

  • payment has succeeded;
  • WooCommerce accepted the order;
  • the store still needs to fulfil it.

WooCommerce does not know when you have packed and shipped a physical item unless another system tells it.

After fulfilment, the store normally changes the order to Completed manually or through a fulfilment/shipping integration.

2. Digital-only orders can behave differently

Orders containing products that are both virtual and downloadable may complete automatically because there is no physical fulfilment step.

If a digital order stays on Processing unexpectedly, check:

  • product is marked Virtual;
  • product is marked Downloadable;
  • payment is complete;
  • another plugin is changing order status.

3. Pending payment means the store has not confirmed payment

Do not mark a Pending payment order as paid until you know the money arrived.

Check:

  • payment gateway dashboard;
  • WooCommerce order notes;
  • transaction ID;
  • customer message;
  • whether the customer abandoned an external payment page;
  • whether the card was declined.

If the gateway shows payment succeeded but WooCommerce remains Pending payment, the gateway may not be communicating back to the store correctly.

4. On hold can be completely normal

On hold often appears with payment methods that are not confirmed instantly.

Examples can include:

  • bank transfer;
  • cheque/offline payment;
  • delayed payment methods;
  • manual review workflows.

Read the order notes before changing anything.

5. Always read order notes

Open the order and look at the notes panel.

This is often the simplest place to see:

  • payment attempt;
  • gateway response;
  • status change;
  • stock change;
  • refund event;
  • transaction ID;
  • error message.

Order notes are more useful than guessing from the coloured status label alone.

6. Check the gateway record separately

If there is any doubt about payment, open the payment provider.

Confirm:

  • was the customer charged;
  • was the payment authorised only;
  • was it captured;
  • was it declined;
  • was it refunded;
  • did the gateway send an error.

If you use Stripe and payments themselves are failing, see the Stripe payment troubleshooting guide.

7. Do not ask the customer to pay again before checking whether they were charged

This matters when checkout timed out or the order stayed Pending payment.

First compare:

  • WooCommerce order;
  • payment provider;
  • bank/payment confirmation where appropriate.

Otherwise you risk a duplicate charge.

8. If many paid orders remain Pending payment, investigate the gateway connection

One failed payment can be a customer card problem.

Many successful payments that stay Pending point to a store/gateway communication issue.

Check:

  • gateway logs;
  • webhooks/callbacks where the gateway uses them;
  • SSL;
  • security/firewall rules;
  • recent gateway plugin updates;
  • site URL/domain changes.

9. If orders are stuck On hold, check whether that is expected for the payment method

Do not force everything to Processing automatically.

For bank transfer, the store may deliberately wait for you to confirm the money.

For a delayed-payment method, the gateway may update the order later.

10. Check whether a plugin is changing order statuses

Many plugins can modify the normal order flow:

  • subscriptions;
  • pre-orders;
  • payment gateways;
  • fraud screening;
  • fulfilment integrations;
  • ERP systems;
  • automation plugins;
  • custom order-status plugins.

If the status behaviour changed after an update, test conflicts on staging.

11. Check whether fulfilment software is failing to return a status

Some stores connect WooCommerce to:

  • warehouse systems;
  • shipping platforms;
  • dropshipping tools;
  • ERP software;
  • marketplaces.

The WooCommerce order may be paid correctly but never move to Completed because the external system stopped updating it.

12. Understand the difference between payment and fulfilment

This distinction prevents many mistakes:

QuestionSystem responsible
Did the money arrive?Payment gateway
Was the WooCommerce order created?WooCommerce
Was stock reduced?WooCommerce/inventory integration
Was the item packed/shipped?Store/fulfilment system
Was order marked completed?Store/automation/fulfilment integration

13. Check stock if status problems are causing inventory errors

Pending and failed orders can affect how stock is reserved or returned.

If stock no longer matches reality, use the WooCommerce stock troubleshooting guide after you fix the order-status cause.

14. Check customer emails

Order status controls many WooCommerce emails.

If an order never reaches the status that triggers the email, the email may never be created.

Our WooCommerce email guide explains how to separate status problems from delivery problems.

15. Avoid bulk-changing order statuses until you know the cause

Changing 200 orders from Pending to Processing may make the dashboard look tidy while creating a bigger problem.

You could:

  • mark unpaid orders as paid;
  • reduce stock incorrectly;
  • send wrong emails;
  • trigger fulfilment twice.

Fix the cause first.

16. What to record when an order status is wrong

Write down:

  • order number;
  • time;
  • payment method;
  • WooCommerce status;
  • gateway status;
  • transaction ID;
  • order-note message;
  • recent plugin/update changes.

This makes support much faster.

WooCommerce stuck order checklist

  1. Identify the exact status.
  2. Read the order notes.
  3. Check the payment provider.
  4. Confirm whether the customer was charged.
  5. Decide whether the status is actually expected.
  6. Check gateway communication if many orders are affected.
  7. Check fulfilment integrations.
  8. Check stock and emails after the cause is fixed.

When this becomes urgent

If customers are being charged but orders are not moving correctly, do not leave it as an admin inconvenience. It can affect fulfilment, stock, emails and customer confidence.

Core Web UK provides urgent WooCommerce support for live stores with broken order or payment flows.

Build a status workflow that matches how your business fulfils orders

Different stores need different workflows. A shop shipping physical products may keep paid orders on Processing until dispatch. A service business may move them to Completed after the service is delivered. Digital products can complete automatically.

Document your normal path so staff know what “wrong” looks like.

StageExample statusOwner
Payment not confirmedPending payment / On holdGateway or accounts
Paid, needs fulfilmentProcessingWarehouse/service team
FulfilledCompletedStore/fulfilment integration

Watch for status loops

If an order moves from Processing back to On hold, or switches status repeatedly, check automations and integrations. Two systems may be fighting each other.

Record the order notes around each change. They often show which gateway or plugin triggered it.

Use one problem order as your test case

Before changing settings globally, pick one affected order and reconstruct what happened from checkout to payment to fulfilment. Once you understand that path, compare another order. Patterns are more useful than bulk edits.

What to do when staff are unsure whether to fulfil an order

Do not fulfil from the status colour alone. Check whether payment is confirmed in the gateway and whether the order notes show a successful transaction.

If the store uses bank transfer or another offline method, make sure staff know that On hold can be intentional and requires manual confirmation.

Why order-status mistakes create customer-service problems

Status controls more than the admin list. It can affect:

  • customer emails;
  • stock;
  • downloads;
  • fulfilment integrations;
  • refund workflows;
  • account order history.

That is why “just change it to Processing” is not a safe general fix.

Create an order-status exception report

Once a day or once per shift, depending on order volume, review:

  • old Pending payment orders;
  • old On hold orders;
  • failed payments;
  • Processing orders older than your normal fulfilment time.

This catches stuck workflows before customers contact you.

Keep payment and fulfilment ownership clear

One team may be responsible for confirming money. Another may pack the order. A third-party warehouse may mark completion. Document who owns each stage so nobody assumes another system has handled it.

Check old Pending payment orders before they build up

Old unpaid orders can clutter reporting and may hold stock depending on your settings. Review how your store handles abandoned orders and how long stock should remain reserved.

Do not delete or cancel them blindly if you use payment methods that can confirm later. Match the cleanup process to the gateway.

Train staff on the three questions that matter

  1. Did the customer pay?
  2. Does the order need fulfilment?
  3. Has fulfilment happened?

Those three questions map closely to payment, Processing and Completed. They are easier for non-technical staff to understand than memorising every internal event.

WooCommerce order status FAQs

Why are WooCommerce orders stuck on Processing?

For physical products, Processing is normally expected after successful payment. It usually remains there until the order is fulfilled and marked Completed.

Why is a paid order still Pending payment?

If the payment provider confirms success but WooCommerce does not, investigate the payment gateway connection, callbacks/webhooks, logs, SSL and recent changes.

What does On hold mean in WooCommerce?

It usually means the order is waiting for payment confirmation or manual action. This is common with bank transfer and some delayed payment methods.

Should I manually change Pending payment to Processing?

Only after you confirm payment was actually received. Never use a status change to hide an unresolved payment problem.

Why is my completed digital order still Processing?

Check whether the product is configured as virtual and downloadable, whether payment completed, and whether another plugin is controlling order status.

Share