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.
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
| Source | Refund from wp-admin |
|---|---|
| WPForms | Yes — WPForms → Payments → open payment → Refund |
| Fluent Forms | Yes — submission payment screen → set status to Refunded |
| Contact Form 7 | Square Dashboard only |
| Payment links | Square Dashboard only |
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.
