Create Checkout Session
Stripe Checkout
Create Checkout Session
Create a Stripe checkout session for subscription or one-time payment
POST
Create Checkout Session
Create a Stripe Checkout session to redirect users to Stripe’s hosted checkout page. Supports both subscription and one-time payment modes.
Authentication
This endpoint requires end user authentication via HTTP Bearer Token with project scope.
Query Parameters
boolean
default:"true"
Use test mode credentials. Set to
false for production payments.Request Body
string
required
Stripe Price ID for the product or subscription (e.g.,
price_1ABC...)string
required
URL to redirect after successful payment. Include
{CHECKOUT_SESSION_ID} placeholder.string
required
URL to redirect if user cancels checkout
string
default:"subscription"
Checkout mode:
subscription or payment (one-time)integer
default:"1"
Quantity of items (minimum: 1)
object
Additional metadata to attach to the checkout session
boolean
default:"false"
If
true, allows checkout even if user already has an active subscriptionResponse
string
Stripe Checkout Session ID
string
URL to redirect user to Stripe Checkout
Example Request
Example Response
Checkout Flow
Integration Example
Frontend (React)
Backend (Next.js API Route)
Existing Subscription Handling
By default, users with active subscriptions cannot start a new checkout:Price IDs
Get Price IDs from your Stripe Dashboard:- Navigate to Products > Pricing
- Click on a price to view its ID
Error Responses
Related Pages
Get My Subscription
Check user’s subscription status
Stripe Webhook
Handle checkout completion
Update Subscription
Change subscription plans
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Use test mode credentials
Body
application/json
Request to create a Stripe checkout session.
Minimum string length:
1Minimum string length:
1Minimum string length:
1Pattern:
^(subscription|payment)$Required range:
x >= 1If true, allows checkout even if user has active subscription

