Refund tickets
Purpose
Refund one or more issued tickets on your event, and understand what the buyer gets back and when.
Before you start
ticket.refundon this event's organization (EVENT_OWNER or EVENT_ADMIN — EVENT_MANAGER and below cannot refund).- The ticket must be
ISSUED(not already used, cancelled or refunded) and belong to a paid order.
Steps
- On Orders (
/orders), find the order and tick the issued ticket rows you want to refund. Only rows in theISSUEDstate can be picked. - Press Refund…. Write a reason — required, shown to the buyer, kept in the audit log, up to 500 characters.
- Confirm. The tickets move
ISSUED → REFUNDED, their QR credentials are revoked immediately (the holder can no longer get in with them), and the server works out the exact total. - An organizer- or staff-initiated refund is all-or-nothing: the ticket price, the Sotillion fee and the GST on it are all refunded together — never just the ticket price.
- The refunded amount goes back to the original payment method. The state you see (Requested → Processing → Sent to the bank → Completed) reflects what the server has actually recorded, not a guess at how fast the bank will move.
Decision guide
| Situation | Do |
|---|---|
| A buyer asks you directly for a refund | Refund it yourself from Orders, as above — you are not bound by the buyer's own refund window when you initiate it. |
| A buyer requests a refund themselves (from their own ticket) | They get back the ticket price only — the fee and GST are kept, and only inside your event's refund window (see below). This flow lives in the consumer app, not here. |
| The refund window has already closed | The buyer can no longer self-serve one; you can still refund a ticket yourself at any time before the event, since an organizer-initiated refund is not gated by the window. |
| More tickets need refunding than are left to refund on the payment | The server refuses with a clear reason — reload the order list and refund what actually remains. |
| The event is cancelled | Every issued ticket is refunded in full automatically — you don't need to refund them individually (see Create an event). |
The refund window. Each event has its own cutoff, set when you create it (default 48 hours before the start, fixed once the event is live). This window governs a buyer's own refund request — after it closes, their self-serve request is refused. It does not limit refunds you initiate as the organizer.
Escalate when
- A refund is stuck in
Failed — retryingfor longer than expected, or a buyer disputes an amount — there is no in-app support case system for organizers yet. Use the contact channel Sotillion gave you directly.
Record
- Every organizer- or staff-initiated refund: audit label
ticket.refund, written by the server, with the reason, the ticket/fee/GST breakdown and who requested it. - Keep the reason you give — it's shown to the buyer and it is the only explanation attached to the refund, so make it one that will still make sense later.