Skip to content

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

  1. Open the paid order in WooCommerce → Orders.
  2. Click Refund.
  3. Enter a full or partial amount.
  4. Confirm — the plugin sends the refund to Square.

Each partial refund is a separate Square refund.

Square Hosted Checkout — payment ID from this flow enables wp-admin refunds

If you see "Square payment ID was not found":

  1. Copy the webhook URL from Payments Square Connect → Connect.
  2. Add it in the Square Developer Dashboard.
  3. Wait for the webhook or customer return to save the payment ID.

→ 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

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.