All articles
WooCommerce

WooCommerce PayPal Payments Refund Webhook Not Updating Order

HandL WP Engineering·
WooCommerce PayPal Payments Refund Webhook Not Updating Order

When PayPal shows a refund but WooCommerce does not update the order, do not start by creating a manual refund line. Start by proving whether the refund was initiated from WooCommerce, whether PayPal sent a webhook, and whether the store matched that event to the correct order.

Use this for stores where customers were refunded in PayPal, but WooCommerce still shows the original paid amount, missing refund notes, wrong stock behavior, or no staff evidence for accounting.

Quick answer

WooCommerce PayPal Payments Refund Webhook Not Updating Order should be handled with a narrow evidence-first workflow: record refund ids, find creation source, check webhook logs, then verify the result before making broader changes.

What to check first

  • Record the WooCommerce order ID, PayPal capture ID, refund ID, amount, currency, and refund timestamp.
  • Check whether the refund was created from WooCommerce admin or directly inside PayPal.
  • Review PayPal Payments logs and WooCommerce order notes for refund webhook delivery, matching, and validation errors.
  • Confirm stock restoration, tax totals, partial refund amounts, and accounting exports before editing the order.
  • Check WAF, security plugin, and host logs for blocked webhook requests near the refund time.

Diagnostic table

Use this table to keep the work practical. It connects the symptom to evidence and a verification step.

ActionEvidence to collectHow to verify
Record refund IDsRecord the WooCommerce order ID, PayPal capture ID, refund ID, amount, currency, and refund timestamp.The PayPal refund ID appears in WooCommerce notes or the documented exception report.
Find creation sourceCheck whether the refund was created from WooCommerce admin or directly inside PayPal.Order totals, refund totals, stock, and tax reports match the payment processor state.
Check webhook logsReview PayPal Payments logs and WooCommerce order notes for refund webhook delivery, matching, and validation errors.A test refund from WooCommerce admin creates one expected PayPal refund and one order note.
Verify order totalsConfirm stock restoration, tax totals, partial refund amounts, and accounting exports before editing the order.The owner knows whether future refunds should start in WooCommerce or PayPal.

Why this usually happens

  • The refund was created inside PayPal, but WooCommerce did not receive or process the webhook.
  • A partial refund amount or currency does not match the order line WooCommerce expects.
  • A security layer blocks the callback path before the gateway plugin can validate it.
  • A manual refund line was added in WooCommerce after PayPal already created the real refund.
  • The site recently migrated from PayPal Standard to PayPal Payments and old settings still influence order handling.

Field notes

  • Keep accounting and customer service separate in the evidence. The customer may have their money while the store record is still wrong.
  • Do not restore stock twice. Prove whether WooCommerce already adjusted inventory before changing quantities.

Useful command or data shape

Adapt paths, IDs, and privacy handling to the site before running commands or storing data on production.

refund_trace:
  order_id: 10518
  paypal_capture_id: 6AB12345CD678901E
  paypal_refund_id: 9XY76543AB210987F
  amount: 79.00
  currency: USD
  created_in: paypal_dashboard
  webhook_seen: false
  woo_refund_line: missing
  next_check: gateway log and WAF access log
PayPal refund event to WooCommerce order note trace for WooCommerce PayPal Payments Refund Webhook Not Updating Order

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.

  1. Record refund IDs
  2. Find creation source
  3. Check webhook logs
  4. Verify order totals
  5. Retest refund path

What to tell the client or owner

Tell the owner whether the money movement is correct, whether WooCommerce accounting is correct, and what changed so the next refund leaves clean evidence.

Production verification checklist

  • The PayPal refund ID appears in WooCommerce notes or the documented exception report.
  • Order totals, refund totals, stock, and tax reports match the payment processor state.
  • A test refund from WooCommerce admin creates one expected PayPal refund and one order note.
  • The owner knows whether future refunds should start in WooCommerce or PayPal.

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 PayPal refund and checkout issues.

Related HandL WP guides

Use these related guides when the same issue touches tracking, security, checkout, or crawler visibility.

Helpful references

Ready when you are

Get WordPress help, before the next lead is lost.

Tell us what’s broken or what you need built. We’ll review your request and reply with clear next steps, usually within a few business hours.

Same-day emergency triage · Backed by HandL Digital