Short answer: You can create checkout session in Stripe by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Stripe Create Checkout Session action to a workflow, map its 7 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Mode mode | options | Required | Mode. Options: One-time payment, Subscription, Setup (save payment method) |
Price ID price_id | string | Required | The Stripe Price ID to charge |
Quantity quantity | string | Optional | Quantity. e.g. "1" |
Success URL success_url | string | Required | URL to redirect after successful payment |
Cancel URL cancel_url | string | Required | URL to redirect if the customer cancels |
Customer Email customer_email | string | Optional | Pre-fill the email on the checkout page |
Customer ID customer | string | Optional | Stripe customer ID — starts with 'cus_'. Find via List Customers. |
{"mode": "{{trigger.mode}}","price_id": "price_abc123","quantity": "1","success_url": "https://example.com/success?session_id={CHECKOUT_SESSION_ID}","cancel_url": "https://example.com/cancel"}
{"id": "cs_test_abc123","url": "https://checkout.stripe.com/c/pay/cs_test_abc123","mode": "payment","object": "checkout.session","status": "open","currency": "usd","amount_total": 2999,"customer_email": "customer@example.com","payment_status": "unpaid"}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.