EXECMODULE: Stripe Checkout
Stripe Checkout Session Module
Create Stripe Checkout sessions directly from your workflow. This module reads a SalesOrder
and builds Stripe line items from its LineItem
s.
Module Class
com.valkyrlabs.workflow.modules.payments.StripeCheckoutModule
Environment
STRIPE_SECRET_KEY
(required for live calls)STRIPE_API_BASE
(optional, defaults tohttps://api.stripe.com
)
Inputs (module inputMap)
orderId
(String, UUID) — required; SalesOrder to chargesuccess_url
(String) — required; user redirect after successcancel_url
(String) — required; user redirect after cancelcurrency
(String) — optional; ISO code, defaultusd
ownerId
(String) — optional; added toclient_reference_id
andmetadata
Outputs (module outputMap)
session_id
(String)checkout_url
(String)- On error:
error
(String) and optionallystripe_body
(String)
Possible error codes: stripe_secret_missing
, missing_inputs
, invalid_order_id
, order_not_found
, order_has_no_items
, io_error
, stripe_http_<code>
Example Usage
moduleData (optional)
{
"currency": "usd"
}
inputMap example
{
"orderId": "b2dd2c8e-8c07-4cdb-8c7c-df6b5a6f3e9a",
"success_url": "https://app.example.com/pay/success",
"cancel_url": "https://app.example.com/pay/cancel",
"currency": "usd",
"ownerId": "user-123"
}
Notes
- Price selection prefers
Product.salePrice
, thenProduct.price
, and finallyLineItem.lineItemAmount
if present. Amounts are converted to Stripeunit_amount
in cents. - This module performs a live HTTP call to Stripe when
STRIPE_SECRET_KEY
is present and inputs are valid.