Home · Blog · Telegram Stars payments in a chatbot: how to sell courses and consultations

Telegram Stars payments in a chatbot: how to sell courses and consultations

· Command CHBT · Telegram, Sales, Payment

A CHBT bot can accept payments in Telegram Stars, Telegram’s in-app currency. You need it if you sell something digital in Telegram: an online course, a video consultation, access to a private channel, a file. Below: why Telegram requires Stars, how to set up payment in a flow, what the seller gets and what this setup does not have.

Why digital goods in Telegram are sold for Stars

Telegram requires digital goods and services in bots and mini apps to be paid in Telegram Stars — the rules are described in the Telegram bot documentation. Digital goods include courses and lessons, online consultations, subscriptions to private content, files and access passes.

Physical goods and offline services — delivery, a haircut, a repair — are still paid through your provider: the “Payment” block has Prodamus, YooKassa and CloudPayments for that.

How the buyer pays with Stars

  1. The bot sends an invoice to the chat: a title, a description and the amount in Stars.
  2. The buyer taps the pay button and confirms it in the Telegram window. If they do not have enough Stars, Telegram offers to top them up.
  3. After payment the bot continues the flow: sends a link to the lesson, adds a tag, passes the lead to a manager.

Everything happens inside Telegram — no switch to a provider page and no card entry in the bot.

How to set up Stars payments in a flow

  1. Connect your Telegram bot in “Channels”: Stars will go to the balance of this very bot.
  2. Add the “Payment” block to the flow — it is available both in “Steps” and on the “Canvas”, on any plan.
  3. In the “Provider” field choose “Telegram Stars”, set the amount — a whole number of Stars from 1 to 10,000 — and a description that the buyer will see in the invoice.
  4. On the “Paid” output put what the buyer gets: a message with a link to the material, a tag (for example, course-paid), the “CRM deal” action at the “Paid” stage.
  5. Connect the “Error” output too: the flow goes there if the invoice could not be sent.

Stars work only in Telegram. If the same flow runs in MAX, VK or website chat, the Stars step goes to “Error” — put a “Condition” on the “Channel” field before it and give the other channels a “Payment” block with your provider.

Digital products in the bot’s shop

If you have a shop in your bot, mark the product as “Digital product” and set a “Price in Stars”. In the Telegram mini app it gets a “Buy for N ★” button: a one-item order without a cart or delivery, paid in the Telegram payment window right in the storefront. An unpaid order waits 15 minutes; a paid one arrives in “Orders” like any other, and the deal goes to the CRM.

Stars for an order can only be refunded in full — with the “Refund all” button in the order card; if a buyer paid for an order twice, the second payment is refunded automatically. Outside Telegram such a product is sold for rubles through your provider if it has a shop price. More in the “Shop in your bot” help article.

What the seller gets

Stars go to your bot’s balance in Telegram — each seller has their own bot, and CHBT does not touch the money or take a cut of payments. Stars can be withdrawn via the Fragment platform in the TON cryptocurrency. Telegram says earned Stars become available for withdrawal after about 21 days; the rate, fees and minimum withdrawal amount are set by Telegram and Fragment — check their terms.

Keep this in mind when pricing: Stars do not arrive as rubles in a bank account, and some time passes between payment and withdrawal.

Stars or a provider link: which to choose

Telegram StarsA link to your provider
Where it worksTelegram onlyTelegram, MAX, VK and website chat
What to sellDigital: courses, online consultations, access passes, filesPhysical goods and offline services; digital — outside Telegram
Where the buyer paysIn the Telegram window without leaving the chatOn the Prodamus, YooKassa or CloudPayments page
Where the money goesStars — to your bot’s balanceRubles — to your account with the provider
54-FZ receiptNoIssued by your provider
RefundFull onlyAccording to the provider’s rules
What you need to connectOnly the Telegram botA provider in the “Payment acceptance” section

A common setup is both options in one flow: in Telegram the course is sold for Stars, and people who came from MAX, VK or the website get a link to your provider.

How to set a price in Stars

The amount in the block is a whole number of Stars, with no fractions or currency. CHBT does not show or convert a Stars-to-rubles rate: the buyer pays exactly the number of Stars you set.

  • Check how much a pack of Stars costs for a buyer in your Telegram and estimate what the purchase will cost them.
  • Keep in mind that you will withdraw Stars via Fragment and not immediately: the final amount you get depends on Telegram and Fragment terms at the time of withdrawal.
  • Round prices — 100, 250, 500 Stars — are easier to read in an invoice.
  • The same service can cost differently in Stars and in rubles: in a flow these are two separate “Payment” blocks.

Refunds, receipts and what is missing

  • No 54-FZ receipt. Stars are not a payment through a cash register, so CHBT does not issue a receipt for them. If you need a receipt, accept payment outside Telegram — for example, on your website through your provider.
  • Refunds are full only. Telegram refunds Stars for a payment in full; there are no partial refunds.
  • Telegram only. There are no Stars in MAX, VK or on the website.
  • No card payments inside Telegram (Telegram Payments). Inside Telegram — Stars only; rubles — via a link to your provider.
  • CHBT does not accept cryptocurrency and has no plans to.

A flow for an online school: a lesson after payment

An example chain for a course in Telegram:

  1. A “Message” with the course description and a “Buy for 500 ★” button.
  2. The “Payment” block with the “Telegram Stars” option and an amount of 500.
  3. The “Paid” output: “Action” → “Add a tag” course-paid and “CRM deal” at the “Paid” stage, then a “Message” with a link to the first lesson.
  4. The “Error” output: a “Message” saying “We could not send the invoice — write to us” and the “Operator” block.

Give out the next lessons by tag: a “Condition” checks course-paid and sends the link only to those who paid. More about the school funnel — on the online school bot page.

Two more flows: a consultation and private access

Online consultation. “Data collection” asks for the topic and a convenient time as text, then the “Payment” block sends an invoice in Stars. On the “Paid” output — a “CRM deal” titled something like “Consultation: {{name}}” and “Notify an operator”: the specialist sees a paid request and confirms the time in Conversations. The bot does not book the time itself — it is a request, as in other booking flows.

Access to a private channel or a file. After payment the bot sends a message with a link: an invite to the channel, a link to cloud materials or to the course page. You put the link into the message text in advance. If the link is the same for everyone, it can be forwarded — for valuable content use a platform that issues personal access, and let the bot lead to it.

Pre-launch checklist

  1. The Telegram bot is connected in “Channels”, and it is the bot whose balance should receive the Stars.
  2. The “Payment” block uses the “Telegram Stars” option, the amount is a whole number from 1 to 10,000, and the description is clear without context: the buyer sees it in the invoice.
  3. Both outputs are connected — “Paid” and “Error”.
  4. MAX, VK and the website have a separate branch with your provider, or at least a message explaining how to pay.
  5. In “Test flow” no Stars invoice is sent — the test chat shows that the step went to “Error”. Test the payment in real Telegram with a small amount.
  6. You know how you will withdraw Stars and account for this income.

More on the blog