curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/billing/checkout' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"cancel_url": "string",
"price_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"success_url": "string"
}'
{
"checkout_url": "string"
}
Create a checkout handler
Creates a Stripe Checkout session for the authenticated tenant. Required scope: billing:write
POST
/
api
/
v1
/
billing
/
checkout
curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/billing/checkout' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"cancel_url": "string",
"price_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"success_url": "string"
}'
{
"checkout_url": "string"
}
Creates a Stripe Checkout session for the authenticated tenant.
Required scope:
billing:write
Request body
CreateCheckoutRequest
string
required
URL to redirect to if the customer cancels
string
required
Stripe Price ID to subscribe to (e.g.
price_1Abc...)string
required
URL to redirect to after successful checkout
Response
CreateCheckoutResponse
string
required
Full Stripe Checkout URL to redirect the customer to
Status codes
| Code | Meaning |
|---|---|
200 | Checkout session created |
401 | Unauthorized — missing or invalid credentials |
403 | Forbidden — the key/token lacks the required scope |
429 | Rate limited — see Retry-After / X-RateLimit-Reset |
503 | Billing not configured |
curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/billing/checkout' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"cancel_url": "string",
"price_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"success_url": "string"
}'
{
"checkout_url": "string"
}
Last modified on August 31, 2026