checkout

Create Checkout Session Endpoint

Create a Stripe Checkout Session for subscription (Path B) for the AUTHENTICATED consumer.

WRITE-SIDE IDOR fix (R4 verify, issue 1 — see module docstring): requires the same verified CONSUMER access token as /portal. consumer_id is derived exclusively from that token's subject and is what gets threaded into the Checkout Session's (webhook-trusted) metadata — never anything the request body supplies. The Stripe customer_id handed to Checkout is looked up ONLY from that subject's own prior linkage, never accepted from the caller.

post/v1/checkout/session

Request

  • Base URL: https://app.teetra.com (the document declares no server; this is the origin it was published from)
  • URL: https://app.teetra.com/v1/checkout/session
  • Auth: none declared

Request body

price_idstring required

Stripe Price ID for subscription

success_urlstring nullable

Redirect URL upon successful checkout

cancel_urlstring nullable

Redirect URL upon checkout cancellation

customer_emailstring nullable

Customer email address

adapter_idstring nullable

Warrant Adapter ID

conversion_idstring nullable

Warrant Conversion ID

managed_paymentsboolean

Enable Stripe Managed Payments as MoR

metadataobject nullable

Custom session metadata. Reserved keys (warrant_adapter_id, warrant_consumer_id, warrant_conversion_id, path, mor) are ALWAYS overwritten server-side with the authoritative values and can never be set or overridden from here; the unprefixed aliases some downstream readers fall back to (adapter_id, consumer_id, conversion_id, amount_usd) are stripped entirely for the same reason (R5 verify, final sweep) — see app.billing.checkout.create_checkout_session.

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 2 revisions of this API.