Docs/Orders & refunds
Last updated April 7, 2026

Orders & refunds

Every ticket purchase creates an order. This guide covers the order lifecycle from checkout to completion, how to handle refund requests, and what happens when a payment is disputed.

Order structure

Each order has a unique order number, the buyer's email, a total in the event's currency, line items for each ticket purchased, and a payment source. Orders also track any discount codes applied and the resulting savings.

Payment sources

Orders can be paid through different sources. Stripe handles credit card payments with a payment intent. Free orders (when all tickets are complimentary or fully discounted) skip payment processing entirely.

SourceHow it works
StripeProcesses credit card payments through a Stripe payment intent. The charge appears on the buyer's statement and funds are deposited to your connected Stripe account.
FreeNo payment is collected. Used when all tickets in the order are complimentary or a discount code reduces the total to zero.

Order lifecycle

After checkout, an order moves through several states. A successful payment marks the order as completed and generates tickets for each line item. The buyer receives a confirmation email with their order details and ticket access links.

Applied promotions

When an attendee uses a discount code, the promotion and its adjustment are recorded on the order. The order shows the original subtotal, the discount amount, and the final total. This gives you a clear audit trail of which promotions drove which sales.

Viewing orders

Navigate to Admin, then Orders to see all orders across your events. Filter by event, status, date range, or search by order number or email. Click into an order to see line items, payment details, applied discounts, and the associated tickets.

Refund requests

Attendees can request a refund from their order page. They provide a reason for the request. You receive a notification and can review the request in Admin under Refunds. Each request shows the order details, refund amount, and the attendee's reason.

Processing refunds

Review each request and approve or decline it. Approved refunds are processed through Stripe automatically — the refund amount is returned to the original payment method. You can add admin notes to document your decision. If a Stripe refund fails, the system records the failure reason and you can retry.

Disputes

Sometimes a buyer disputes a charge with their bank (a chargeback). Kagibag tracks dispute details including the reason, amount, and resolution timeline. When a dispute is opened, the order is flagged. Work with Stripe's dispute evidence tools to respond.

Responding quickly to disputes improves your chances of a favorable outcome. Check Admin, then Orders, and filter by disputed orders regularly.

Webhook notifications

Kagibag sends an order.paid webhook event when an order is completed. Use this to sync order data with external systems, trigger custom workflows, or update third-party CRMs. Configure webhooks in Admin under Growth, then Webhooks.

Related use cases

See where this workflow fits

Use these pages to connect the how-to guide with the commercial workflow it supports.