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
| Status | Plain-English meaning | Normal next step |
|---|---|---|
| Pending payment | Order exists, payment not confirmed | Check gateway/payment |
| Processing | Payment received, order needs fulfilment | Pack/ship or complete service |
| On hold | Waiting for manual/delayed payment confirmation | Verify payment or gateway note |
| Completed | Order fulfilled | No action unless support/refund |
| Failed | Payment failed or was rejected | Check gateway and customer payment |
| Cancelled | Order cancelled | Review stock/payment if unexpected |
| Refunded | Refund recorded | Check 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:
| Question | System 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
- Identify the exact status.
- Read the order notes.
- Check the payment provider.
- Confirm whether the customer was charged.
- Decide whether the status is actually expected.
- Check gateway communication if many orders are affected.
- Check fulfilment integrations.
- 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.
| Stage | Example status | Owner |
|---|---|---|
| Payment not confirmed | Pending payment / On hold | Gateway or accounts |
| Paid, needs fulfilment | Processing | Warehouse/service team |
| Fulfilled | Completed | Store/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
- Did the customer pay?
- Does the order need fulfilment?
- 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.
