Skip to main content

Documentation Index

Fetch the complete documentation index at: https://help.thexo.app/llms.txt

Use this file to discover all available pages before exploring further.

XO offers two ways for customers to pay for their bookings: an in-app checkout session and a payment link. Both use Stripe and result in the same confirmed booking — they differ in how and when the customer pays.

In-app checkout session

When a customer completes their booking in the XO app or website, they’re redirected to a Stripe checkout page immediately. This is a checkout session.
FeatureDetails
How it’s triggeredAutomatically when the customer finalises their booking
Expiration30 minutes — the customer must pay within 30 minutes of submitting their booking
Suitable forReal-time bookings where the customer intends to pay immediately
If the checkout session expires before payment, the booking moves to Declined status and the customer needs to start a new booking.
A payment link is a shareable URL that the customer can open and pay at a later time. It’s typically sent via email or message after the booking is created.
FeatureDetails
How it’s triggeredGenerated on request — either by the system after an admin creates a booking, or via the booking confirmation email
Expiration24 hours — the customer must pay within 24 hours
Suitable forSituations where you or the customer needs more time before payment

Payment links are useful when:
  • You’ve created an admin booking (guest list entry) and want to send the customer a payment link later.
  • The customer didn’t complete the checkout session in time and needs a fresh link.
  • The customer is booking by phone or email and you want to send them a link to pay.

What happens after payment?

Regardless of which method is used, the outcome is the same:
  • Payment successful → Booking moves to Confirmed, entry passes are generated and sent to the customer.
  • Payment not completed / expired → Booking remains in Pending or moves to Declined.

Does the customer choose which method to use?

No — the customer doesn’t choose. The checkout session is the default flow. Payment links are generated by the system or admin when needed (e.g., for admin-created bookings or follow-up payment reminders).

What if a customer’s payment fails?

If a payment fails during the checkout session:
  1. The customer sees an error message on the Stripe checkout page.
  2. They can retry with a different card or payment method immediately within the same session.
  3. If the session has expired, they need to start a new booking.
If a payment link expires, a new one needs to be generated. Contact support at support@thexo.app if a customer’s payment link has expired and needs to be resent.