Skip to content
Proud to collaborate with Microsoft for Startups

stripe.checkout.create_session ​

Create a Stripe Checkout Session and return the payment URL

Create a Stripe Checkout Session and return the hosted payment URL.

Acts on the CUSTOMER'S OWN Stripe account, authenticated via the org-scoped Stripe connection selected by cloud_connection_uuid.

The caller should redirect the user to session_url to complete payment. On success Stripe redirects to success_url; on abandonment to cancel_url.

Inputs:

  • cloud_connection_uuid: Org-scoped Stripe connection UUID (required).
  • price_id: Stripe price ID (required), e.g. price_DEF456.
  • success_url: Redirect URL after successful payment (required).
  • cancel_url: Redirect URL when user cancels (required).
  • mode: payment | subscription | setup (optional, default: subscription).
  • customer_id: Existing Stripe customer ID (optional).
  • quantity: Line-item quantity (optional, default: 1).
  • client_reference_id: Caller-owned identifier Stripe echoes back on every webhook event for this session (optional). This is how a payment is mapped back to the end-user who made it — pass the end_user_uuid here and stripe.access.grant-on-payment can grant access without guessing.
  • metadata: Arbitrary key-value metadata stored on the session and echoed on webhook events (optional).

Outputs (terminal state_data):

  • session_id: str — Stripe Checkout session ID
  • session_url: str — hosted payment page URL to redirect the user to
  • status: str — initial session status

Connection required: cloud_connection_uuid — the organization's own Stripe account credentials; there is no platform-key fallback.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-stripe
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
cloud_connection_uuiduuidYes—Org-scoped Stripe connection (customer's own account)
price_idstringYes—Stripe price ID
success_urlstringYes—Redirect URL after successful payment
cancel_urlstringYes—Redirect URL when user cancels
modestringNo—payment
customer_idstringNo—Existing Stripe customer ID
quantityintegerNo—Line-item quantity (default: 1)
client_reference_idstringNo—Caller-owned id echoed on webhook events (pass the end_user_uuid to map a payment to a user)
metadatajsonNo—Arbitrary key-value metadata echoed on webhook events

Output Schema ​

FieldTypeRequiredDefaultDescription
session_idstringNo——
session_urlstringNo——
statusstringNo——
cloud_connection_uuiduuidNo——
cancel_urlstringNo——
customer_idstringNo——
modestringNo——
price_idstringNo——
quantityintegerNo——
success_urlstringNo——
client_reference_idstringNo——
metadatajsonNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "stripe.checkout.create_session",
  "initial_data": {
    "cloud_connection_uuid": "value",
    "price_id": "value",
    "success_url": "value",
    "cancel_url": "value"
  }
}