Create a Stripe Checkout session — createcheckoutsession
const url = 'https://example.com/api/stripe/checkout';const options = { method: 'POST', headers: { cookie: 'sb-access-token=<sb-access-token>', 'Content-Type': 'application/json' }, body: '{"plan":"example","priceId":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/stripe/checkout \ --header 'Content-Type: application/json' \ --cookie sb-access-token=<sb-access-token> \ --data '{ "plan": "example", "priceId": "example" }'Authorizations
Section titled “Authorizations ”Request Body
Section titled “Request Body ”object
Plan name (e.g., pro, team)
Stripe price ID (alternative to plan)
Responses
Section titled “ Responses ”Checkout session URL
object
Invalid request
object
Human-readable error message
Stable machine-readable error code for client branching
First validation message per field path
object
Structured validation issues (Zod)
object
Seconds until rate limit resets (429 responses)
Not authenticated
object
Human-readable error message
Stable machine-readable error code for client branching
First validation message per field path
object
Structured validation issues (Zod)
object
Seconds until rate limit resets (429 responses)
True if re-linking GitHub may fix the issue
Resource state conflict
object
Human-readable error message
Stable machine-readable error code for client branching
First validation message per field path
object
Structured validation issues (Zod)
object
Seconds until rate limit resets (429 responses)