Refund Handling

UniPay refunds are merchant-initiated and processed directly through the WooCommerce order screen — no need to log in to the merchant portal.

How to issue a refund

  1. In WordPress admin, go to WooCommerce → Orders and open the order you want to refund.
  2. Scroll down to the order items and click Refund.
  3. Enter the refund amount. You can refund the full amount or a partial amount.
  4. Optionally enter a reason. This is stored on the order for your records.
  5. Click Refund via UniPay — not "Refund manually". The "Refund via UniPay" button triggers the automatic refund through the API.

Use "Refund via UniPay", not "Refund manually". The manual refund button only records the refund in WooCommerce — it does not send any funds back to the customer.

What happens after you click refund

  1. The plugin calls the UniPay refund API with the amount and reason.
  2. UniPay initiates the refund — UNC is returned to the customer's UniCash account.
  3. A refund record is created on the WooCommerce order immediately.
  4. UniPay sends a refund.completed webhook when the refund is finalised. The order notes are updated with the refund confirmation.

Refund timing

Refunds to the customer's UniCash account are typically processed within seconds. The customer will see the UNC balance update in their app almost immediately after you issue the refund.

Partial refunds

Partial refunds are supported. You can refund any amount up to the original order total. Multiple partial refunds on the same order are allowed, provided the total does not exceed the original payment amount.

Refund limits

  • Maximum refund: the original payment amount. You cannot refund more than was paid.
  • Minimum refund: 0.01 UNC.
  • Time limit: refunds can only be issued within 90 days of the original payment date.

What customers see

When a refund is processed, the customer receives the UNC amount back in their UniCash account. They receive an in-app notification confirming the refund. There is no separate fiat refund — the refund is always in UNC, mirroring how the original payment was made.

Chargebacks

UniPay payments do not go through card networks, so there are no chargebacks. Disputes must be resolved directly between you and the customer. If a customer believes a refund was not received, both you and the customer can verify in your respective portals — the UniPay merchant portal shows all refund records.

Refund failed — what to do

If a refund fails, an error is shown in the WooCommerce order screen and logged in the plugin's debug log. Common causes:

  • API key issue — run Test connection in settings to verify your API key is valid.
  • Refund exceeds original amount — check the original payment amount and reduce the refund amount accordingly.
  • Payment is too old — refunds are only available within 90 days of payment.
  • Payment was already fully refunded — check the order for existing refund records.

If none of these apply, enable debug logging in settings, retry the refund, and check WooCommerce → Status → Logs for the specific error message. Include this in any support request.