Event payment API

Sell event tickets with an API, not a platform.

One API call creates a hosted event page with capacity limits, ticket tiers, promo codes, and automatic email delivery. No Eventbrite fees, no vendor lock-in, no email service to wire up.

No per-ticket feesFree sandbox forever5 min to first event
Summer Music Festival 2026
LIVE
Riverside Park, Austin TXAug 15, 2026
347 / 500 tickets sold69%
GA: 289/400VIP: 58/100
Recent tickets
SMF-000347Sarah ChenVIP
SMF-000346Marcus RiveraGA
SMF-000345Aisha PatelGA
SMF-000344James KimVIP

The problem

Ticketing platforms take too much. Stripe alone isn't enough.

Eventbrite charges per ticket. Ticketmaster controls the experience. Both force their branding on your event. You could build on Stripe directly, but then you're writing capacity management, ticket numbering, email delivery, and refund logic from scratch.

Flint sits in the middle. Payment processing with event semantics built in - capacity, ticket codes, attendee collection, and confirmation emails - without the platform tax or the build-it-yourself complexity.

Without Flint

  • Stripe for charges
  • Custom capacity tracking in your DB
  • Ticket numbering logic
  • SendGrid or SES for confirmation emails
  • HTML email templates
  • Coupon engine for promo codes
  • Manual refund reconciliation

With Flint

  • Payments + capacity in one call
  • Automatic sellout enforcement
  • Sequential ticket codes with prefix
  • Branded emails sent automatically
  • No email service to configure
  • Built-in promo codes and discounts
  • One-call refunds with auto-adjustment

How it works

From API call to ticket delivery in four steps

1

Create a payment link with mode: "EVENT"

Set the event date, location, ticket capacity, and a ticket code prefix. One API call creates a hosted event page - no separate ticketing platform required.

2

Add ticket tiers as line items

VIP, General Admission, early bird - each tier is a line item with its own price and quantity limit. Add custom fields to collect attendee info at checkout.

3

Share the link

Buyers see event details, pick tickets, apply promo codes, and pay. The hosted page handles quantity selection, capacity enforcement, and checkout - on your domain or ours.

4

Tickets delivered automatically

After payment, buyers receive a branded confirmation email with sequential ticket codes. Orders are tracked in your dashboard with full refund and attendee history.

What's included

Everything you need to sell event tickets through an API

No ticketing platform, no third-party widget, no iframe. A payment link with event semantics built in.

Capacity management

Set maxTotalQuantity on the payment link. Sales stop automatically when the event is sold out - no overselling, no manual cutoff, no race conditions.

Ticket codes

Auto-generated sequential ticket codes with a custom prefix. "CONF-000001", "CONF-000002" - each buyer gets unique codes for check-in.

Event date & location

Event date, time, and venue displayed on the payment page. Buyers see all details before purchasing. You set it once in the API call.

Automatic ticket emails

Branded confirmation emails with ticket codes sent after payment. No email service to integrate, no templates to build, no webhook-to-email pipeline.

Multiple ticket tiers

Each tier is a line item with independent pricing and per-tier quantity limits. Offer VIP, General Admission, student, and early bird from a single link.

Custom checkout fields

Collect attendee information at checkout - dietary restrictions, t-shirt size, accessibility needs. Up to 20 fields per event, attached to the order.

Promo codes & discounts

Auto-apply coupon codes or let buyers enter their own. Percentage or fixed-amount discounts with usage limits and expiration dates. Totals recalculate automatically.

Refunds & cancellations

Full or partial refunds with one API call. Order balance, tax, and status adjust automatically. Track every refund in your dashboard.

Branded checkout

Set primary and accent colors to match your event branding. The hosted checkout page reflects your brand, not ours.

Comparison

Flint Pay vs. ticketing platforms

What you get with Flint versus what you get locked into with a traditional ticketing platform.

CapabilityPlatformFlint Pay
Pricing
Cost to sell tickets
Per-ticket fee + % of sale
Flat processing rate only
Branding
Checkout appearance
Platform logo required
Your colors, your brand
Capacity enforcement
Prevent overselling
Platform-managed
API-level, one field
Ticket codes
Sequential codes for check-in
Platform format only
Custom prefix + auto-sequence
Attendee data
Collect info at checkout
Platform fields
Custom fields via API
Email delivery
Confirmation + ticket emails
Platform-branded emails
Your brand, automatic
Refunds
Process cancellations
Dashboard + manual
One API call, auto-reconciled
Data ownership
Access to attendee data
Export from platform
Your database, your API

Code examples

Create, monitor, and manage - all from the API

Set up an event with ticket tiers, check remaining capacity, and handle refunds. Each operation is a single SDK call.

1Create an event with ticket tiers
create-event.ts
const link = await flint.paymentLinks.create({
name: "Summer Music Festival 2026",
mode: "EVENT",
eventDate: "2026-08-15T18:00:00Z",
eventLocation: "Riverside Park, Austin TX",
maxTotalQuantity: 500,
ticketCodePrefix: "SMF",
collectEmail: true,
sendTicketEmails: true,
lineItems: [
{
name: "General Admission",
unitPriceMoney: { amount: 4500, currency: "USD" },
maxQuantity: 400,
},
{
name: "VIP Access",
unitPriceMoney: { amount: 12000, currency: "USD" },
maxQuantity: 100,
},
],
customFields: [
{ label: "Full Name", type: "TEXT", required: true },
{ label: "Dietary Restrictions", type: "TEXT" },
],
});
// link.url → "https://pay.withflintpay.com/lnk_01HZ..."
// Share it. Tickets sell themselves.
2Check remaining capacity
check-capacity.ts
const link = await flint.paymentLinks.get({
paymentLinkId: "lnk_01HZ8K3...",
});
// link.maxTotalQuantity → 500
// link.totalQuantitySold → 347
// link.completedCount → 189 orders
// link.status → "ACTIVE"
// When totalQuantitySold hits 500,
// the checkout page shows "Sold Out" automatically.
3Issue a refund
refund-ticket.ts
const refund = await flint.refunds.create({
paymentIntentId: "pi_01HZ9A2...",
amountMoney: { amount: 4500, currency: "USD" },
reason: "REQUESTED_BY_CUSTOMER",
idempotencyKey: "refund-order-123",
});
// Order balance recalculates automatically.
// Tax adjusts proportionally.
// No manual bookkeeping.

Use cases

One API, every kind of event

The same payment link with EVENT mode handles everything from a 50-person workshop to a multi-day festival.

Conferences & summits

Multi-tier tickets, early bird pricing, speaker dinners as add-ons. Custom fields for badge info and dietary preferences.

Workshops & classes

Limited-capacity sessions with automatic sellout. Collect skill level and equipment preferences at registration.

Fundraiser galas

Table tickets and individual seats as separate tiers. Promo codes for sponsors. Donation mode for additional giving.

Sports tournaments

Team registration with custom fields for roster info, division selection, and waiver acknowledgment.

Community events

Free RSVP with $0 tickets or paid entry. Capacity limits prevent over-attendance. Share the link on social and let it run.

Multi-day festivals

Day passes and weekend passes as separate line items. Each with its own capacity. One payment link covers the whole event.

Beyond ticketing

Events are just one mode

The same payment link API handles standard product sales and donations too. Switch the mode and the hosted page adapts - suggested amounts for donations, line items for products, ticket tiers for events.

One integration covers fundraiser galas, ticket sales, and merch. No separate platforms, no duplicate webhook handling, no second set of API keys.

EVENT

Ticket tiers, capacity limits, ticket codes, and confirmation emails.

STANDARD

Product sales with line items, quantities, and inventory tracking.

DONATION

Suggested amounts, custom contributions, and recurring giving.

Start selling event tickets today

One API call. Hosted event page. Capacity management, ticket codes, promo codes, and confirmation emails included. No per-ticket platform fees.