WooCommerce Orders Stuck on Pending? Fixed Today. | StoreFixHQ
WooCommerce order fix

Orders stuck on pending. Customers paid. Nothing moved.

When WooCommerce shows an order as pending after a customer's card has been charged, something broke in the communication between your payment gateway and your store. We find the break and recover the orders.

Don't manually refund yet. In most cases stuck orders are recoverable β€” customers can get their order fulfilled without a refund or a repeat payment. Contact us first.

No fix, no fee
Orders often recoverable
Same-day response
Typical stuck order pattern
Customer completes checkout
βœ“ done
Payment charged by gateway
βœ“ done
WooCommerce receives confirmation
⚠ stuck here
Order moves to Processing
waiting
Confirmation email sent
waiting
Orders recoverable without refund
~85%
of pending orders in our experience

Fix + recovery from
Β£149
+ VAT Β· flat rate Β· pending order recovery included
  • Root cause diagnosis
  • Webhook replay to recover stuck orders
  • Gateway configuration fix
  • End-to-end test before close
  • 30 days follow-up cover
Recover my orders today

No fix? You pay nothing.

Sound familiar?Orders showing "Pending payment" after card chargedStripe says paid, WooCommerce says pendingNo order confirmation email sentPayPal redirect completes but order stays pendingCustomers emailing asking where their order isStarted after a site migration
What's actually happening

Why orders get stuck on pending

Pending orders don't mean the payment failed. They mean WooCommerce never received confirmation that the payment succeeded. Here's why.

Step 1
Customer pays β€” gateway charges the card
Step 2 β€” broken
Gateway sends webhook to WooCommerce β€” fails silently
Step 3 β€” never reached
WooCommerce updates order to Processing
Step 4 β€” never reached
Confirmation email sent to customer
01

The webhook is the messenger

When a payment goes through, the gateway (Stripe, PayPal, etc.) sends a webhook β€” a small HTTP request β€” to your WooCommerce store saying "payment confirmed". If that webhook doesn't arrive, WooCommerce has no idea the payment succeeded.

02

The webhook can fail silently

Your gateway charges the card successfully and tries to notify WooCommerce. But if the URL has changed, SSL has expired, or the server rejects the request β€” the gateway logs a delivery failure, your store stays silent, and the order never moves.

03

Most stuck orders are recoverable

Because the payment actually went through, the data is there. Most gateways allow you to replay failed webhooks β€” once the underlying issue is fixed, we can trigger a replay and complete all the stuck orders at once.

Root causes

What breaks the webhook

Most pending order problems trace back to one of these four causes.

01

Wrong webhook URL after migration

The most common cause. Your gateway still has the old domain in its webhook settings. Requests fire to a URL that no longer exists β€” they fail silently, and every order stays pending.

Most common
02

SSL certificate expired or invalid

Gateways refuse to send webhooks to endpoints without a valid SSL certificate. An expired cert means every webhook attempt fails with a connection error β€” even if your site looks fine in a browser.

High urgency
03

Security plugin blocking gateway requests

Wordfence, iThemes Security, and similar plugins can incorrectly identify gateway webhook requests as suspicious and block them. The gateway sends the request β€” your store silently drops it.

Common
04

Webhook signing secret mismatch

Stripe and other gateways sign their webhook payloads. If the signing secret in WooCommerce doesn't match what the gateway is using β€” often after a plugin reinstall β€” every webhook gets rejected as invalid.

Common
The process

Fix and recover in three steps

We fix the root cause first β€” then recover the stuck orders so customers get what they paid for.

01

Don't refund β€” contact us

Tell us how many orders are stuck and which gateway is involved. Don't manually update orders or issue refunds until we've assessed the situation β€” we may be able to recover everything automatically.

⏱ 5 minutes
02

We find and fix the break

We check webhook delivery logs, gateway settings, SSL status, and security plugin rules. We identify exactly where the communication is failing and fix the root cause so no new orders get stuck.

⏱ Same day
03

We recover the stuck orders

Once the root cause is fixed we replay the failed webhooks, completing the stuck orders automatically. Confirmation emails fire, stock updates, customers get their orders β€” no refunds, no repeat payments.

⏱ Orders recovered same session
Real fix Β· 2026

31 stuck orders recovered after a Wordfence update

A homeware retailer noticed customers emailing to say they'd been charged but hadn't received an order confirmation. Their WooCommerce dashboard showed 31 orders stuck on Pending Payment β€” stretching back four days.

Diagnostic trace
β†’ Stripe dashboard Β payments confirmed βœ“
β†’ Stripe webhook log Β delivery failures: 403 Forbidden
β†’ WooCommerce webhook URL Β correct βœ“
β†’ SSL certificate Β valid βœ“
β†’ Wordfence firewall log Β 
β†’ Stripe IPs blocked by Wordfence rate limiting rule added in recent update
βœ“ Wordfence updated Β· Stripe IPs whitelisted Β· webhooks flowing

A Wordfence update had added a new rate-limiting rule that incorrectly flagged Stripe's webhook delivery IPs. Every webhook attempt returned a 403 Forbidden. We whitelisted Stripe's IP ranges in Wordfence and replayed all 31 failed webhooks.

31
Orders stuck on pending β€” customers charged, nothing fulfilled
31
Orders recovered via webhook replay β€” no refunds, no repeat payments
4 days
Of stuck orders resolved in a single session

"We were about to start issuing refunds to 31 customers. StoreFixHQ recovered every single order instead. The customers got their confirmations and we kept the revenue."

β€” Homeware retailer, UK
Scope of work

What's covered β€” and what isn't

We fix pending order issues caused by webhook and gateway communication failures. Here's the full scope.

We fix these Covered

  • βœ“ Webhook URL mismatch after domain change or migration
  • βœ“ SSL certificate blocking webhook delivery
  • βœ“ Security plugin incorrectly blocking gateway IPs
  • βœ“ Webhook signing secret mismatch
  • βœ“ PayPal IPN configuration failures
  • βœ“ Recovery of stuck orders via webhook replay
  • βœ“ Plugin conflicts preventing order status updates
  • βœ“ Caching serving stale order status pages

Outside our scope Not covered

  • βœ• Orders where the payment genuinely failed β€” customer not charged
  • βœ• Gateway platform outages preventing webhook delivery
  • βœ• Custom order management workflows with no documentation
  • βœ• Fraud disputes or chargeback management
  • βœ• Orders on a hacked or compromised site

Not sure if you're in scope? Send us a note β€” we'll tell you honestly before anything is paid.

πŸ›‘

No fix, no fee. Full stop.

If we can't resolve your pending orders, you pay nothing. We'll explain exactly what we found and why recovery isn't possible in your case β€” no vague answers, no partial charges.

  • No payment taken upfront β€” invoiced only on successful fix
  • Order recovery via webhook replay included in Priority fix
  • 30 days follow-up cover with every fix
  • Same fault recurs within 30 days β€” we fix it again, free
Transparent pricing

Flat rates. No hourly surprises.

You know the cost before we start. All prices exclude VAT.

Standard fix
Β£149
+ VAT Β· response within 24 hours

  • Full webhook diagnostic
  • Root cause fix
  • End-to-end order test
  • Written handover summary
  • 14 days follow-up cover
Get started
Monthly care plan
Β£79
+ VAT per month Β· cancel anytime

  • Monthly webhook health check
  • Proactive gateway monitoring
  • SSL expiry alerts
  • Priority response on any issue
  • Unlimited fixes during plan
Start care plan
Questions

FAQ

Not yet β€” contact us first. If the payments went through successfully on the gateway side, we can almost always replay the webhooks and complete the orders without any customer impact. Issuing refunds before we diagnose the issue means unnecessary work and potential confusion for customers.
It depends on the gateway. Stripe retains webhook events for 72 hours and allows replays within that window. For older orders, we can often manually trigger the status update using the payment intent ID. PayPal and others vary β€” contact us with the dates and we'll assess.
No. Webhook replay only sends the payment confirmation event again β€” it does not trigger a new charge. The customer was already charged once. Replaying the webhook simply tells WooCommerce that the payment succeeded, completing the order.
This is the classic symptom. The payment succeeded on the gateway side but the notification (webhook) to WooCommerce failed or was blocked. WooCommerce never heard that the payment went through, so the order never moved to Processing. This is exactly what we fix.
Almost certainly. Hosting migrations are the single most common trigger for pending order issues β€” they change the domain, the SSL certificate, sometimes the server IP, and all of these can break webhook delivery. The gateway still has the old configuration and can no longer reach your store.