Refunds
Refund paid WooCommerce orders from wp-admin. Refunds are sent to Square using the stored payment ID.
Before you refund
The order must be:
- Paid with Payments Square Connect
- Status Processing or Completed
- Have a Square payment ID saved (from buyer return or webhook)
Pending or unpaid orders cannot be refunded through the gateway.
How to refund
- Open the paid order in WooCommerce → Orders.
- Click Refund.
- Enter a full or partial amount.
- Confirm — the plugin sends the refund to Square.
Each partial refund is a separate Square refund.
Enable webhooks (recommended)
If you see "Square payment ID was not found":
- Copy the webhook URL from Payments Square Connect → Connect.
- Add it in the Square Developer Dashboard.
- Wait for the webhook or customer return to save the payment ID.
:octicons-arrow-right-24: Webhook setup
Troubleshooting
| Issue | What to do |
|---|---|
| Refund button missing | Check order is paid with this gateway and has a payment ID |
| Refund failed | Enable Debug Log on Connect screen; check WooCommerce → Status → Logs (source shc4wc) |
| Partial refund rejected | Try a lower amount |
Non-WooCommerce payments
Contact Form 7, WPForms, Fluent Forms, and payment links are not WooCommerce orders. Refund those in the Square Dashboard (Transactions / Payments).
Subscription renewals
Recurring charges billed by Square subscriptions should be refunded from the Square Dashboard. The initial WooCommerce subscription signup order can be refunded from wp-admin if it was a one-time hosted checkout payment with a stored payment ID.