Refund Through WooCommerce or the Gateway Dashboard?
Why the WooCommerce Order Matters
WooCommerce's built-in refund action on an order calls the connected gateway's refund API directly, so the money genuinely returns to the customer exactly as it would from the gateway's own dashboard — the difference is that WooCommerce also records the refund against the order, adjusts reporting totals, and can automatically restock items if that setting is enabled. A refund issued only in the gateway's dashboard skips all of that; the money moves, but WooCommerce has no idea it happened unless told separately.
When Gateway-Direct Refunds Happen Anyway
- The gateway integration doesn't support API refunds for a specific payment method (some offline or less common gateways only support refunding manually), leaving no choice but to refund directly and then update the WooCommerce order by hand.
- A partial refund scenario the WooCommerce order UI doesn't cleanly support, occasionally pushing an admin toward the gateway dashboard instead, though most modern integrations do handle partial refunds correctly.
- An order that's already been deleted or is otherwise inaccessible in WooCommerce, where the gateway dashboard is the only remaining way to process a refund at all.
Keeping Things in Sync
- Always try the WooCommerce order refund action first, confirming it successfully calls the gateway before assuming a manual gateway-side refund is needed.
- If a gateway-direct refund is unavoidable, manually add an order note and adjust the order status in WooCommerce afterward so reporting stays accurate.
- Periodically reconcile gateway transaction records against WooCommerce order data if manual gateway-side refunds happen with any regularity, to catch any drift early.
Dealing with refund/reporting mismatches after some manual gateway refunds? See WooCommerce fixes.