A WooCommerce order marked Refunded does not, by itself, prove money was returned. A manual refund records the adjustment in the store but does not send funds through the gateway. Before trying again, compare the store's refund record with the payment provider's transaction history.
Stop duplicate attempts first
Ask the team to pause retries on the affected order while one authorized operator reconciles it. Record the order ID, original payment identifier, refund amount, currency and time. Do not collect or circulate the customer's full card number.
Check whether a second staff member already refunded from the provider dashboard. A slow confirmation screen is not proof that the first attempt failed. Creating another refund before checking the provider can send money twice.
Identify the action that was taken
The WooCommerce refund documentation distinguishes gateway-backed automatic refunds from manual bookkeeping. Changing the order status directly is also not a funds-transfer instruction.
Look at the refund lines and order notes, then confirm the provider's current record. Use identifiers, not only matching amounts: two different orders may have the same total.
| Store evidence |
Provider evidence |
Next action |
| Manual refund recorded |
No refund transaction |
Authorized payment operator reviews the missing money movement |
| Refund request recorded |
Pending transaction |
Follow the provider's current pending-refund guidance |
| Store marked refunded |
Failed or rejected transaction |
Read the actual failure reason before any retry |
| Provider refund completed |
Customer cannot see it |
Obtain the provider's customer-trace guidance and reference |
Store adjustment: Amount and currency recorded. Provider record: Refund ID and state confirmed. Inventory: Restocked at most once. Customer message: Only confirmed facts shared. Explanatory checklist, not a customer test result.
Reconcile amounts and inventory separately
Compare the approved refund with the provider's amount and currency. For a partial refund, identify which items, tax and shipping components were intended. A full order-status label is a poor substitute for line-level accounting.
Review whether inventory was restocked already. A payment reconciliation should not trigger a second stock increase. Keep a small incident record with separate money, store-record and inventory outcomes.
If the provider shows success while WooCommerce lacks the adjustment, this is the opposite failure. The PayPal refund webhook guide explains that provider-to-store path. Do not create a second provider refund to repair a missing store note.
Tell the customer only what is confirmed
Distinguish requested, pending, failed and completed states. Use the provider's current explanation of processing time for that payment method instead of promising that all refunds arrive within a fixed number of days. A store email alone should not be presented as bank-settlement evidence.
Any actual transfer or retry should be performed by the authorized payment operator after reviewing the provider record. This guide is for diagnosis, not permission to move funds.
For integration help, provide sanitized IDs and both sides of the mismatch to HandL WP. The technical repair is complete when future requests produce an unambiguous provider result and matching store evidence without duplicate refunds or stock adjustments.
References reviewed October 5, 2026. Examples are explanatory, not customer test results.