Legacy subscription model, replaced by POST /billing/plan. Creates a Stripe Checkout session for the given price, with an optional promotion code, creating the organization's Stripe customer first when needed, and returns its url. Requires an org admin, owner or billing role; returns 409 when the organization is billed per case.
POST
/payments/checkout
curl \
--request POST 'http://api.example.com/payments/checkout' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--header "organization: string" \
--data '{
"priceId": "string",
"cancelUrl": "string",
"successUrl": "string",
"couponId": "string"
}'
Request examples
# Headers
organization: string
# Payload
{
"priceId": "string",
"cancelUrl": "string",
"successUrl": "string",
"couponId": "string"
}
Response examples (200)
{
"data": {
"url": "https://checkout.stripe.com/c/pay/cs_test_a1Example"
},
"statusCode": 200,
"timestamp": "2026-01-15T10:15:00.000Z"
}