Payments & Payouts
Issuing Refunds
Issue full or partial refunds from the transaction sidebar, ecommerce orders, or member fulfillment view.
Issuing Refunds
Refunds can be issued from any of these places, all of which open the same Refund payment sidebar:
- Payments → Transactions → click a row → Transaction Detail Sidebar → Refund
- Fulfillment → Ecommerce Orders → click an order → Refund (in the order footer)
- Members → click a member → Member Fulfillment Sidebar → Refund (on a charged order)
Issuing a refund requires the Issue Refunds permission. See Team and Permissions.
The Refund Sidebar
The sidebar header reads Refund payment, with the original charge under it ("Original charge $X.XX", plus "($Y already refunded)" when partial refunds were issued before). Amounts are in the charge's currency.
| Field | Description |
|---|---|
| Refund Amount | Shows the charge's currency symbol ($, or CA$ for a Canadian charge). Pre-populated with the maximum refundable amount (original charge minus any prior partial refunds). You can lower it for a partial refund. Must be between $0.01 and the maximum refundable amount. |
| Reason (optional) | A free-text field for the refund reason. Stored on the refund record and visible in transaction history. |
| Restock inventory and mark order as cancelled | Checkbox. Only available for full refunds. Off by default. When checked, the associated order is cancelled and any items are added back to available stock. A yellow warning appears: "Restocking will increase available inventory. Make sure the order has been physically returned." |
For an order, you can also choose Refund specific items (Select items to refund) instead of an amount. Refunds go through Stripe and can't be undone; they may take 5-10 business days to appear on the customer's statement.
Click Refund $X.XX in the footer to submit, or Cancel to abort.
Partial Refunds
You can refund any amount from $0.01 up to the remaining refundable amount. If you've previously refunded $30 of a $100 charge, the sidebar shows $70.00 pre-populated and clamp your input to that ceiling.
The cumulative amount refunded is tracked on the underlying order or order in the Amount Refunded field, so subsequent refund attempts are aware of prior refunds even if they were issued from a different surface. You can see the running total in the Member Fulfillment Sidebar under the Payment summary - the cycle/order summary shows both the original charged amount and any refunds that have been issued against it.
Charged Subtotal vs. Current Total
Every charged order carries two related dollar figures that you'll see in the fulfillment UI and on transaction records:
- Charged Subtotal - A frozen snapshot of what the member was actually charged at the time their order was marked Charged. This number never changes after the charge succeeds, even if later edits adjust the order's contents.
- Current Total - The live total based on the order's current items, tax, and shipping. If you edit items, swap fulfillment method, or recompute tax after the charge, the current total moves.
The difference between current total and charged subtotal is the Fulfillment Adjustment - what would be reconciled at fulfillment time (additional charge if items went up, refund if items went down). The Reconciliation Preview banner in the fulfillment sidebar uses these figures to show you exactly what a Mark Fulfilled action will charge or refund. See Order Lifecycle for more on the editing and waive workflows.
Restock Inventory
When you check Restock inventory and mark order as cancelled during a full refund:
- The Stripe refund is processed.
- The order transitions to Cancelled.
- Inventory for every item in the order is returned to available stock at the location it was reserved from.
The checkbox may be greyed out with an explanation if restocking isn't possible (for example, if items have already been physically shipped or fulfillment has progressed past the point of return).
Refund Status in Transactions
Refunded transactions appear in the Transactions tab with a Refunded status. Click the row to see the breakdown - the original charge plus each refund attempt with its date, amount, and reason.
Edge Cases
Some scenarios require manual handling outside the standard refund sidebar:
- Legacy imported orders - Orders imported from another system before joining MemberZone have no linked Stripe payment. To refund a legacy order, issue the refund directly in your previous system or as a credit, then mark the order accordingly using Notes.
- Charge not yet succeeded - Refunds can only be issued against Succeeded charges. Pending or failed charges can't be refunded - cancel the order instead.
- Stripe succeeded but downstream step failed - Rare, but if a refund processes in Stripe and then a downstream step (restocking inventory or reversing redeemed rewards) fails, you'll see a partial-failure warning. The refund itself is final; you'll need to manually reconcile inventory or the rewards ledger.
- Refunds initiated outside MemberZone - If you issue a refund directly in Stripe, MemberZone reconciles it back to the matching charge automatically via webhook. The transaction record updates with the refunded amount and the order is kept in sync.
Refunds in the order's history
A refund issued from the Transactions page or from your Stripe dashboard is recorded in the history of the order it paid for, with its amount and, for refunds issued in MemberZone, the reason and who issued it. That includes refunds of an extra item charge or a top-up on an order, not just its original charge, and the order's Amount Refunded is updated to match Stripe. Each refund is recorded once, and it appears on the order's timeline in the fulfillment sidebar as Refund Issued, with the amount, who issued it and when.
Still stuck?
Ask Zoe about this article and get a direct answer.
Related articles
Payments Overview
How payments work on MemberZone, including the Payments dashboard, payment types, fee structure, and charged subtotal vs. fulfillment adjustments.
Cycles Overview
Batch member orders into fulfillment cycles and process them as a group through preparation, packing, and delivery.
Ecommerce Orders
Store orders are one-off purchases through your online store, separate from your clubs, memberships or programs, with a step-by-step checkout (Contact, Delivery, Payment, Review) and confirmation page, guest checkout, member discounts, shipping from your store shipping options with live Vinoshipper or Shippo quotes where the customer pays some or all of it, tax from your tax provider where you use one, an age check for age-restricted businesses, staff-placed orders, and an optional "How did they hear about us?" answer on orders staff ring up.
Order Lifecycle
Every order status in a fulfillment cycle, what each means, how orders transition between them, and the audit trail behind each change.
Failed Payments and Retries
How MemberZone classifies payment failures, routes each one to the right retry path, and lets members or staff resolve them.