Flow Preview
Overview
Sell a digital product for Telegram Stars (XTR) with zero external setup: no Stripe keys, no provider token, no webhooks — payment happens inside Telegram.
Who It's For
The user wants to sell a digital product, guide, file, or access link directly in Telegram for Telegram Stars (XTR) without connecting Stripe, a card provider token, or any webhook.
Setup Requirements
- What digital product are you selling and how would you pitch it?
- What link should buyers receive right after payment?
- How many Stars should the product cost (the template ships with ⭐ 100)?
- Who should be alerted about each sale?
- Telegram Stars (XTR) may only be used for digital goods and services — that is Telegram's policy. Do not sell physical products with this template.
- No payment provider token is needed for Stars: connect your Telegram bot and the payment block works as is.
- To change the price: open the "Accept Stars Payment" block and edit the amount (a whole number of Stars), then update the ⭐ 100 price label in the product card message and on the Buy button. The setup wizard cannot change the price for you.
- Test with a real Telegram account: send /start, tap Buy, and complete a Stars payment (Stars can be bought right inside Telegram). Also test the not-paid path by sending any text message instead of paying.
- To receive sale alerts, press /start in your bot once, then tag your own contact with the alert tag you chose during setup (default "owner") on the Contacts page.
Node Breakdown
- Start with /start in one sales flow
- Show a product card with name, pitch, and the ⭐ 100 price
- Buy button opens a native Telegram Stars (XTR) invoice from the ACCEPT_PAYMENT block
- Paid branch: tag the buyer as customer, alert the owner by tag, deliver the product link
- Not-paid branch: reassure that nothing was charged and offer a retry button that loops back to the same payment block
Details
Good to know
- Telegram Stars need no payment provider setup: the ACCEPT_PAYMENT block with rail STARS and currency XTR charges Stars natively — a connected Telegram bot is the only requirement.
- For XTR the amount is a whole number of Stars (100 = ⭐ 100); there are no cents/minor units.
- ACCEPT_PAYMENT wires like a condition: the TRUE branch link runs after successful payment, the FALSE branch when payment does not complete (the buyer sends a message instead of paying, or the invoice cannot be sent).
- The payment block's title, description, and amount are literal block config — {{var|...}} placeholders are NOT interpolated there, and briefing bindings cannot reach block-level payment config. Keep them generic literals and put product specifics into the surrounding messages.
- Keep the retry button pointing back at the same ACCEPT_PAYMENT block instead of duplicating payment blocks.
- timeoutSeconds on the payment block only expires the pending-payment wait; nothing fires automatically at timeout, so do not promise a reminder at expiry.
Keep in mind
- Do not use this template for physical goods — Telegram Stars are for digital goods and services only (Telegram policy).
- Do not turn this into a subscription: it is a one-time purchase. Recurring Stars billing is a different setup (recurring + subscriptionPeriod on the payment block).
- Do not ask the user for a Stripe key or payment provider token — Stars payments need none.
- Do not put {{var|...}} placeholders into the payment block's title or description — they are sent to Telegram literally, without variable interpolation.
- Do not duplicate the payment block for retry; loop the retry button back to the same block.
- Do not connect both payment outcomes to the same message.
