Appearance
Refunds
For merchants
Refund a Flutterwave payment, fully or partly, from the order in the Administration.
Before you can refund
- Enable Refunds is on (settings).
- The payment is Paid, Partially paid or Partially refunded, and was verified by the plugin (it has a Flutterwave transaction ID).
- There is an amount left to refund.
- You are an Administrator or have the refund permission.
Issue a refund
- Open the order and its Flutterwave tab. It shows the amounts charged and settled, the Flutterwave reference and transaction ID, fee, channel and verification time.
- Click Refund.
- Enter the Refund Amount in the order currency, and optionally Reason / Comments (sent to Flutterwave).
- Click Issue Refund.
What happens next
Flutterwave refunds are asynchronous — Flutterwave states they usually take 3–15 working days.
| Stage | What you see |
|---|---|
| Flutterwave accepts the request | A refund record appears in Refund History, pending, labelled with the Flutterwave refund ID. If Flutterwave already reports the refund as completed in its answer (the sandbox always does), it is completed immediately. |
Flutterwave sends refund.completed; the plugin asks the Flutterwave API for the refund's status: completed | The refund is Completed; payment status becomes Refunded or Partially refunded. |
| … failed | The refund is marked Failed; the amount becomes refundable again. |
Any other status leaves the refund pending until a final status arrives. The status is always confirmed with the Flutterwave API — the webhook body is not trusted.
Limits
- Minimum: the Minimum Refund Amount setting (main units), or the built-in minimum (NGN 100, KES 10; none for other currencies). Further partial refunds are possible as long as a balance is left.
- Maximum: the amount charged minus what Flutterwave reports as already refunded (every refund that has not failed). The plugin reads Flutterwave's live refund history for this, so refunds made directly in the Flutterwave dashboard also count.
- If the refund history cannot be loaded, the refund is refused (Unable to verify the refundable balance) rather than risking an over-refund.
Who can refund
- Settings → Users & permissions → Roles → edit the role.
- Additional permissions → Flutterwave → tick Process Flutterwave refunds.
- The role also needs Orders → Editor (added automatically as a dependency).