Skip to main content
Turn a finalized trip into its two payment paths. Use it once the trip is set and traveler details are filled in, for example after the user picks a Paris to Tokyo round trip and adds a hotel for the stay. The returned checkout_url is what a human opens in a browser to pay; agent_spt_params is what an agent uses to pay programmatically via submit_agent_payment.
Checkout a trip: returns the web checkout_url a human opens to pay, plus the agent_spt_params an agent can use to pay programmatically (no browser).

PREREQUISITES (call these first via the trip tool):
  trip(add_item)         → add the chosen flight or hotel to the trip
  trip(upsert_travelers) → set traveler details + contact info
  trip(select_ancillaries) [optional] → add bags/seats/meals before quoting (flights only)

USAGE:
  checkout({ trip_id })

The BFF schedules a quote, polls until it completes, schedules fulfillment, and returns a Stripe checkout URL, all in one synchronous call.
  • Human path: open the returned checkout_url in a browser to pay. Stripe webhooks finalize the booking after payment succeeds; no client-side confirm step is required.
  • Agent path: mint a Shared Payment Token scoped to agent_spt_params, then call submit_agent_payment({ trip_id, shared_payment_token }).

IMPORTANT: Never fabricate traveler data. Always make sure trip(add_item) and trip(upsert_travelers) have been called with real user-provided data first.

Parameters

NameTypeRequiredDescription
trip_idstringYesTrip ID from the trip tool. The trip must have items (add_item) and travelers (upsert_travelers) set before checkout.