Skip to content

Going-live checklist

Verify charts, live credentials, checkout recovery, webhooks, accessibility, and operations before taking real money.

Updated View as Markdown

Run this checklist before directing real buyers to a live event. Complete the integration checks once per application and the inventory checks for every important event.

Application readiness

Secure live credentials

Store sk_live_… only in the production server secret manager. Confirm it is absent from browser bundles, mobile binaries, logs, and public configuration.

Complete the trusted checkout

Verify the browser sends only the hold id, the server inspects authoritative hold items, and your order id becomes bookingRef.

Test payment compensation

Deliberately expire a hold after payment authorization. Confirm a booking 409 moves the order into reselection and voids/refunds correctly.

Prove idempotent recovery

Simulate a booking response timeout and retry with the same order id. Confirm no duplicate sale, credit usage, or payment capture.

Configure signed webhooks

Verify the signature against the raw body, deduplicate deliveries, acknowledge quickly, and separate test/live processing.

Verify the buyer experience

Complete checkout on desktop and mobile, with keyboard navigation, accessible inventory, color/zoom constraints, and a browser without 3D support.

Event readiness

  • The chart is published.
  • The event was created with a live key.
  • Event name, date, venue, currency, prices, and ticket tiers are correct.
  • Capacity matches the authoritative venue plan.
  • Accessible and companion seats are correctly related.
  • Obstructed views, booths, tables, GA, sections, zones, and floors were reviewed.
  • Intended sections are on sale and reveal rules are correct.
  • Test holds, blocks, and bookings are absent from live inventory.
  • The account has sufficient booking credits.
  • Operations staff can access the intended control surface.

Environment checks

Check Expected production value
SDK/API origin https://api.seatlayer.io unless SeatLayer supplied another
Secret key sk_live_… in server secret storage
Event mode Live
Webhook environment Production routing tag or intentional wildcard
livemode handling Production logic accepts true; test traffic is isolated
Logs Event, hold, order, and payment correlated without secrets

Failure rehearsal

Before launch, rehearse:

  1. two buyers competing for the same final seat;
  2. hold expiry on the payment page;
  3. payment authorization followed by booking conflict;
  4. successful booking with a lost HTTP response;
  5. delayed and duplicate webhook delivery;
  6. realtime disconnect and reconnect;
  7. event sold out while a buyer is viewing it; and
  8. an operator blocking inventory during active sales.

Launch evidence

Record:

  • the production event key and your business event id;
  • the chart version reviewed;
  • the live credential/environment used, without the secret;
  • automated check output;
  • the successful manual order/booking reference;
  • webhook delivery evidence; and
  • the owner of rollback or buyer-support decisions.

Final decision

Do not launch when any of these remain unknown:

  • who owns payment compensation;
  • how an expired hold returns to selection;
  • whether booking retries reuse the same reference;
  • whether webhook signatures are verified;
  • whether tenant/workspace ownership is enforced; or
  • whether accessible inventory was validated.

Use Integration best practices for the complete production standard and the complete checkout example as the reference flow.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close