When a WooCommerce PayPal webhook stops working after an update, the payment provider may show a completed transaction while WooCommerce still shows pending payment, failed, or missing order notes. The fix is to prove whether the webhook reached the site, passed signature checks, and updated the correct order.
Use this for WooCommerce stores where PayPal orders do not update, refunds do not sync, webhooks show failed deliveries, or customers pay but the store does not trigger fulfillment.
Quick answer
WooCommerce PayPal Webhook Not Working After Update should be handled with a narrow evidence-first workflow: confirm webhook url, read logs, compare ids, then verify the result before making broader changes.
What to check first
- Confirm the PayPal webhook URL, live or sandbox mode, and connected account match the production store.
- Check WooCommerce logs for webhook receipt, signature failures, REST API blocks, and order ID mapping errors.
- Compare PayPal transaction ID, WooCommerce order ID, order notes, and payment status history.
- Review security plugin, WAF, cache, and redirect rules that may block or modify the webhook request.
- Send or wait for a retry only after the route, signature, and order mapping have been verified.
Diagnostic table
Use this table to keep the work practical. It connects the symptom to evidence and a verification step.
| Action | Evidence to collect | How to verify |
| Confirm webhook URL | Confirm the PayPal webhook URL, live or sandbox mode, and connected account match the production store. | The webhook endpoint returns a valid response for the production domain. |
| Read logs | Check WooCommerce logs for webhook receipt, signature failures, REST API blocks, and order ID mapping errors. | PayPal transaction ID and WooCommerce order ID map to the same purchase. |
| Compare IDs | Compare PayPal transaction ID, WooCommerce order ID, order notes, and payment status history. | Order notes show the payment status change after webhook delivery. |
| Check WAF | Review security plugin, WAF, cache, and redirect rules that may block or modify the webhook request. | Refund, capture, failed payment, and retry events behave as expected. |
Why this usually happens
- Payment gateways can complete payment outside WordPress, then depend on webhooks to update the order.
- Security or cache layers can block POST requests while normal checkout pages still work.
- A migrated domain, changed permalink, or staging clone can leave PayPal pointed at the wrong URL.
- Webhook retries can hide the original cause unless the first failure reason is preserved.
Useful command or data shape
Adapt paths, IDs, and privacy handling to the site before running commands or storing data on production.
curl -sSI https://example.com/wp-json/
wp rewrite flush --hard
wp option get woocommerce_paypal_payments_settings
# Compare PayPal transaction ID, WooCommerce order ID, webhook delivery status, and order notes.
Safe fix order
Do the work in a sequence that makes each result easy to prove. Stop if a step produces new evidence that changes the incident scope.
- Confirm webhook URL
- Read logs
- Compare IDs
- Check WAF
- Retest webhook
What to tell the client or owner
Tell the store owner whether PayPal collected money, whether WooCommerce received the webhook, and which layer blocked or ignored the update.
Production verification checklist
- The webhook endpoint returns a valid response for the production domain.
- PayPal transaction ID and WooCommerce order ID map to the same purchase.
- Order notes show the payment status change after webhook delivery.
- Refund, capture, failed payment, and retry events behave as expected.
Mistakes to avoid
- Do not judge the fix by one browser or the homepage only.
- Do not delete evidence before recording usernames, file paths, timestamps, and response headers.
- Do not add a cache, security, or tracking plugin while the original problem is still unclear.
- Do not leave test users, temporary debug logs, or broad API keys active after verification.
When HandL WP should help
Bring in help when this affects leads, checkout, search visibility, malware risk, paid media reporting, or a client production site. HandL WP can trace the issue through WordPress, hosting, cache, tracking, and Search Console, then verify the workflow after the technical fix.
If this is active on a production site, fix WooCommerce payment and webhook issues.
Related HandL WP guides
Use these related guides when the same issue touches tracking, security, checkout, or crawler visibility.
Helpful references