Notification did not arrive
A webhook or callback can be blocked by a firewall, fail validation or reach an outdated address.
WooCommerce · Payment status troubleshooting
A payment in the provider dashboard and a pending order in WooCommerce can describe different stages of the same checkout. Confirm that money was actually captured, identify the exact order, and then investigate why the store did not record the result.
Investigate the event path rather than changing the order status immediately.
A webhook or callback can be blocked by a firewall, fail validation or reach an outdated address.
A gateway exception or conflicting extension can prevent the order update even when the provider accepted the notification.
An authorization or delayed payment may legitimately precede the status you expect in the store.
Each answer rules out a group of causes. Stop at the first “no” — that is where the fix belongs.
If yes: Money was collected — go to question 2.
If no: Only an authorization, a pending or a failed attempt. The pending order may be right; do not mark it paid.
If yes: Go to question 3.
If no: The payment may belong to another order or a repeated checkout. Find the order by the reference first.
If yes: The event arrived — go to question 4.
If no: A delivery problem: webhook address, signing secret, firewall or security plugin. Fix it, then re-send the event.
If yes: The shop processed it; something changed the status afterwards. Read the notes in time order.
If no: The update failed inside WordPress. Look for an exception or a conflicting plugin in the gateway log at that minute.
A Stripe card payment where a security plugin rejected the webhook and the buyer closed the tab before the return page loaded.
Timeline (UTC)
10:41:58 WooCommerce Order #10482 created — Pending payment
10:42:03 Stripe pi_3Q8xY2… succeeded · ch_3Q8xY2… captured 89.90 EUR
10:42:04 Stripe payment_intent.succeeded → /?wc-api=wc_stripe · HTTP 403
10:42:05 Browser buyer closes the tab before “Order received”
10:43:10 Stripe retry → HTTP 403 (live mode retries for up to three days)
11:30:00 WooCommerce Order #10482 still Pending payment, no Stripe noteIllustrative sequence: identifiers, amounts and times are made up; the formats follow WooCommerce order notes and the providers’ dashboards. No customer data.
The money is in Stripe and the reference is right; only the delivery failed. The fix is an allow rule for the webhook path and a re-send from the Stripe dashboard — not a second payment and not a manual “Processing” before the capture is confirmed.
Official references for the checks above:
Correct the confirmed endpoint, signature or gateway error. Use the gateway’s documented notification retry procedure only after checking that it handles repeated events safely. Do not ask the buyer to pay again merely because the order is pending.
Re-read the order and provider record after recovery. Confirm that the captured amount was recorded once and that stock, e-mails and fulfillment follow your store’s normal workflow. Test the underlying fix in sandbox or staging.
For a supported, linked payment, Business Watchdog can identify a provider capture that the store has not recorded after its grace period. It reads the order and independent Stripe or PayPal evidence; it does not rely on the store’s paid marker alone.
A pending badge by itself is not an incident. Detection needs fresh sources, a reliable payment-to-order link and the appropriate coverage. The service does not repair webhooks or change order statuses.
PayPal cannot provide strictly read-only credentials; Business Watchdog restricts its own requests and explains this before connection. Read the security and access details
Only after independently verifying the capture and checking your gateway’s recovery procedure. A manual status change can trigger stock, e-mail or fulfillment actions.
No. Payment and notification delivery are separate events. Check the provider’s capture before deciding what happened.
Connect your store and the supported payment provider. Review the coverage and first synchronization before relying on the results. Features and limits depend on your plan.