Refunds & Cancellations
Eventonomy overviewFree + ProGet Eventonomy →
This page covers cancelling events, attendee RSVP cancellations, and issuing refunds. Refunds are a Pro feature.
What You Will Learn
Section titled “What You Will Learn”- How to cancel an event
- How attendee RSVPs are handled when an event is cancelled
- How ticket holders ask to cancel and how you approve or decline
- How to issue a refund (three ways)
- What happens to the seat, ticket, and coupon when an order is refunded
Cancelling an Event
Section titled “Cancelling an Event”Cancelling an event changes its status to cancelled. All attendees with a Going RSVP receive an event cancellation email automatically.
To cancel an event from wp-admin:
- Go to Eventonomy → Events.
- Open the event.
- Change the status to Cancelled.
- Save.
To cancel from the frontend (if you are the organizer):
- Open your event in the event editor.
- Change the status to Cancelled and save.
Note: Cancelling an event does not automatically refund paid orders. Refund each paid order from the Attendees & Orders table (see below).
RSVP Cancellations by Attendees
Section titled “RSVP Cancellations by Attendees”Attendees can cancel their own RSVP:
- Members - from the My Events dashboard (Attending section), they can change their status from Going to No.
- Guests - via the magic management link sent in their confirmation email.
When an attendee cancels a Going RSVP and a waitlist exists, the first waitlisted attendee is automatically promoted.
Cancellation Requests from Ticket Holders
Section titled “Cancellation Requests from Ticket Holders”A ticket holder can ask you to cancel their order and refund it. Asking moves no money and frees no seat: the tickets stay valid until you decide.
Where they ask:
- On the event page, signed in, under their confirmation: Cancel and request refund (or Request cancellation for a free ticket).
- In My tickets (Pro), on the order row.
- On the order receipt page (
/order/<code>/) that their confirmation email links to. This works without an account; the link itself proves the order is theirs. They can add a reason.
What you get: an email to the event’s author, the Organizer attached to the event when it is linked to a member who can manage the event’s orders, and the site admin email, with a Review the request button. In Eventonomy → Attendees & Orders → Orders, the Refund requested filter lists every open request, and each row shows a Refund requested label with the holder’s reason.
How you answer, from the row’s More menu:
- Approve: Refund payment (Pro, returns the money through the gateway) or Cancel order (frees the seat, moves no money). The buyer gets the usual refund or cancellation email, and the request closes.
- Decline: Decline refund request. The order stays paid and the tickets stay valid; the buyer is emailed that you kept the order.
A holder can ask once per order, until the event’s last date has ended; after that the button is gone and you can still refund from admin. A request closes when you approve or decline it, or when they withdraw it.
Developers: POST and DELETE eventonomy/v1/orders/{id}/refund-request (holder, a guest with the order token, or for DELETE the organizer); actions evnm_order_refund_requested and evnm_order_refund_request_closed.
Refunds (Pro)
Section titled “Refunds (Pro)”Pro - Refunds require Eventonomy Pro.
Every refund runs through one idempotent path (RefundService), so no matter how a refund is triggered, the money-out is recorded once and the order is reversed consistently. There are three ways to issue one:
1. From the Orders table (admin)
Section titled “1. From the Orders table (admin)”In Eventonomy → Attendees & Orders, each paid order with a gateway has a Refund button. Click it, confirm the two-step inline prompt, and the order is refunded through the gateway that captured it (Stripe, PayPal, or WooCommerce). Refunded rows show a Refunded state; free and pending rows show no button.
2. From the REST API
Section titled “2. From the REST API”POST eventonomy/v1/orders/{id}/refund issues a refund programmatically. It is gated to the organizer or an admin (a buyer cannot refund their own order). It takes no amount: a refund Eventonomy issues is always the full order. See the REST API reference.
3. Automatically from the gateway (webhook)
Section titled “3. Automatically from the gateway (webhook)”If you issue a refund or lose a dispute directly in your Stripe dashboard, Eventonomy reconciles it automatically. The Stripe webhook branches on charge.refunded and charge.dispute.created and reverses the order without you touching wp-admin. (Subscribe your Stripe webhook to those events; see Payment Gateways.)
What Happens When an Order Is Refunded
Section titled “What Happens When an Order Is Refunded”Regardless of which path triggered it, a refund automatically:
- Releases the reserved ticket stock back to the pool, so the seat can be sold again.
- Voids the attendee ticket - the RSVP status flips to
cancelledand the QR ticket can no longer check in at the door (a scan of a voided ticket is refused). - Releases any held coupon usage, so a limited-use coupon is freed for another buyer.
- Emails the buyer to say what happened. The message names the amount, notes that the money can take a few days to appear depending on their bank, and states plainly that the tickets from that order will no longer admit them.
A refund flips the order status to refunded, releases the reserved seats, and voids the attendee tickets so they can no longer be checked in.
The buyer notice is transactional: it carries no unsubscribe link and cannot be suppressed by an opt-out, because nobody opts out of being told their money moved. A cancelled order that was never paid gets a different message, which does not claim a refund.
Extensions can replace or suppress it with the evnm_send_order_refund_email filter - for example, if your own flow already confirmed the reversal on screen.
Partial Refunds
Section titled “Partial Refunds”Eventonomy does not issue partial refunds. Neither the Refund button nor the REST route takes an amount; both refund the whole order. This is deliberate: a part-refunded ticket has no clear meaning at the door, and the earnings ledger reverses per order.
If you need to return part of a payment, do it in your gateway’s own dashboard. Eventonomy records what the gateway reports, so the amount is reflected on the order, but the order stays paid, the tickets stay valid, and organizer earnings are not reversed proportionally. Reconcile those by hand.
Refund after payout (Pro): if an organizer has already been paid out for an order that is later refunded, the amount is recorded as a debt and netted against that organizer’s next payout; it is never silently lost. See Earnings & Payouts.
Refund Policy Display
Section titled “Refund Policy Display”You can display your refund and cancellation policy text to attendees at checkout. Enter the policy text at Eventonomy → Settings → Payments → Refund and cancellation policy. It appears on the order confirmation. It is deliberately not shown on a free RSVP confirmation, where no money changed hands and a refund policy would answer a question nobody asked.
What’s Next?
Section titled “What’s Next?”Configure automated email notifications for your attendees.

