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 LineItems.
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, defaultusdownerId(String) — optional; added toclient_reference_idandmetadata
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.lineItemAmountif present. Amounts are converted to Stripeunit_amountin cents. - This module performs a live HTTP call to Stripe when
STRIPE_SECRET_KEYis present and inputs are valid.