Flow Preview
Product SalesStripe Payment Fulfillment
Overview
Show product cards, collect buyer email, create a Stripe Checkout Session, and send a payment link.
Who It's For
The user wants a Telegram sales bot for a product, paid digital good, course, consultation, or one-off offer using Stripe Checkout.
Setup Requirements
- What products, prices, and currency should be offered?
- What success and cancel URLs should Stripe redirect to?
- Should the bot collect email before checkout?
- What should happen after successful payment: send a file, invite link, course access, or notify staff?
- Before testing checkout, fill the secret variable STRIPE_SECRET_KEY in the Stripe module setup.
- Stripe API keys docs: https://docs.stripe.com/keys
- To enable payment fulfillment, add the webhook endpoint in Stripe Dashboard. Open the "Stripe Payment Fulfillment" flow, select the Start webhook block, copy the Full Webhook URL, and paste it into Stripe Developers > Webhooks.
Node Breakdown
- Start or product catalog
- Show product buttons
- Save selected product, item name, and amount
- Show a product detail message with image media
- Collect buyer email
- Run the installed Stripe create-checkout-session module action
- Map checkout_url, session_id, and status into contact variables
- Send a MESSAGE with a URL button pointing to the checkout URL
- Optionally add a Stripe webhook trigger flow for fulfillment
Details
Good to know
- Use the installed Stripe create-checkout-session action through moduleActionRef when the Stripe module is installed.
- If [email protected] is not installed but is available in marketplace modules, return a module_install_proposal before drafting checkout actions.
- Do not replace the Stripe Checkout Session step with SET_VARIABLE, HTTP_REQUEST, or a fake checkout placeholder when the Stripe module is required by this template.
- Call get_module_details for stripe before drafting exact inputFields and outputFields.
- Keep Stripe secret key in the module/environment setup; do not ask the user to paste secrets into chat.
- Use a MESSAGE URL button for the checkout URL instead of asking users to copy a raw link.
- If the user needs automatic delivery after payment, add the Stripe payment events webhook trigger from the installed module triggerTemplates.
Keep in mind
- Do not ask for or store Stripe secret keys as normal variables.
- Do not invent a custom Stripe HTTP request when the installed Stripe module action exists.
- Do not show checkout until product amount, currency, success URL, and cancel URL are known.
- Do not claim fulfillment is automatic unless a webhook or manual delivery path exists.
