create checkout
This block is part of the stripe group and was last modified in core v15.0.0.
create checkout v15.0.0 Creates a Stripe Checkout Session and returns the url of Stripe's hosted payment page to redirect the customer to : or, with ui mode set to embedded, a client secret for mounting Checkout inline on your own page. No card data reaches this cluster. Either wire line_items, or give amount + product name for a one-off price that needs nothing set up in Stripe first.
- flow
flow - connection required
stripeconnection - mode
valuepaymentfor a one-off charge,subscriptionfor recurring billing,setupto save a card without charging it. • Suggestions:paymentsubscriptionsetup - ui mode
v15.0.0valuehosted(default) redirects the customer to Stripe's payment page and fills thepay urlpin.embeddedfills theclient secretpin instead, for mounting Checkout inline on your own page : usereturn urlthen, not the success/cancel urls. • Suggestions:hostedembedded - success url
valueHosted mode: where Stripe sends the customer after paying. Include
{CHECKOUT_SESSION_ID}in the URL to get the session id back for checkout get. Not sent in embedded mode : Stripe rejects it there. - cancel url
valueHosted mode: where Stripe sends the customer if they back out. Not sent in embedded mode.
- return url
v15.0.0valueEmbedded mode: where Stripe sends the customer after the payment attempt. Supports
{CHECKOUT_SESSION_ID}like the success url. - amount
numberAmount in the smallest currency unit : €10.00 is
1000. Used with product name to build a one-off price; ignored when line items is wired. - currency
valueThree-letter ISO code, lowercase. Default
eur. - product name
valueWhat the customer sees on the payment page, e.g. "Consultation". Required for the one-off price path.
- quantity
numberDefault 1.
- interval
valueSubscription mode only: how often to bill the one-off price.
day,week,monthoryear. Defaultmonth. • Suggestions:dayweekmonthyear - interval count
numberSubscription mode only: bill every N intervals, e.g. 3 with
monthfor quarterly. - line items
array<object>Full Stripe line items, e.g.
[{"price":"price_123","quantity":2}]. Wins over the amount/product name pins. Required for subscriptions to an existing Price. - customer id
valueAn existing Stripe customer (cus_…). Links the payment to their billing history and saved cards.
- customer email
valuePrefills the email field. Ignored when a customer id is given.
- reference
valueYour own id for this checkout : an order GUID. Comes back on the session and on the webhook event.
- meta data
objectArbitrary key/values stored on the session and echoed back by webhooks.
- payment methods
array<value>Restrict the methods offered, e.g.
["ideal","card"]. Leave empty to let Stripe choose from what the account has enabled. - locale
valueLanguage of the payment page, e.g.
nl. Default is the customer's browser. - trial days
numberSubscription mode only: free days before the first charge.
- allow promo codes
booleanShows a discount code field on the payment page.
- automatic tax
booleanLet Stripe Tax calculate VAT. Requires Stripe Tax to be set up on the account.
- idempotency key
valueOptional. Reusing a key makes Stripe replay the first response instead of creating a second object : wire something stable per order, like the order GUID.
- flow
flow - connection
stripeconnection - pay url
valueStripe's hosted payment page. Redirect the customer here. Expires after 24 hours. Empty for embedded sessions.
- client secret
v15.0.0valueEmbedded mode: hand this to Stripe.js to mount Checkout inline on your own page. Empty for hosted sessions.
- session id
valuecs_… : keep it on the order so checkout get can confirm the payment later.
- session
objectThe full Checkout Session object.
- payment intent id
value - customer id
value - amount total
numberIn the smallest currency unit.
- currency
value - meta data
object - success
condition - error
valueStripe's own message, or a sentinel like MISSING_SESSION_ID for a problem in the wiring.
- error code
valueStripe's machine-readable code, e.g.
card_declined,resource_missing. - decline code
valueWhy the bank refused, e.g.
insufficient_funds. Only set on a declined card.
stripe checkout |
payment page |
pay url |
redirect |
hosted payment |
embedded checkout |
client secret |
The hosted payment page in one chain. connect resolves the provider, create checkout builds the session from an amount, a currency and a product name, and the url out pin is handed straight back to the caller by reply json for the browser to follow. The client_reference_id is your own order guid: it comes back on the session and on every webhook, which is how you match a payment to the thing it paid for. Set ui_mode to embedded instead and the client_secret pin replaces url.
Version history
Introduced in v15.0.0.
Service documentation
External API reference This block wraps a third-party service. Click here for the service's own documentation of the underlying endpoint.Back to
stripe Return to the main group to view all sub-groups Back to checkout Return to the group to view all blocks within this group 