Example: a Telegram Bot That Sells a Course and Unlocks Access After Payment
A concrete payment-bot example for educators: catalog of courses, invoice, webhook, then a private channel invite, files, or a lesson Mini App. Installments and Telegram Stars included.
This is the example I reach for when someone sells knowledge in Telegram already: a channel with teasers, a bot that answers “how much?”, and a manager who pastes a card number. The bot’s job is to take the money and grant access without that paste.
The product is not “a chatbot with a pay button.” It is a license tied to a Telegram user id: paid → member of the private channel / can open the lesson Mini App / receives the files. Unpaid or refunded → out.
1. The user path in this example
Four steps. If you skip the webhook or the invite, you still have a pay button and a support queue.
- Start: the bot greets, shows 1-5 products (a course, a workshop, a PDF bundle). If there is only one offer, skip the catalog and go to pay.
- Checkout: backend creates a pending purchase, then a Mono / LiqPay / Stripe invoice, or a native Telegram invoice. For cheap digital extras, Telegram Stars can work - know the commission and the digital-goods rule.
- Paid webhook: mark purchased, generate a one-time channel invite (or add via the bot token if you own the channel), send files, or flip a flag the Mini App checks on open.
- Support: “I paid, no access” is a lookup by Telegram id + last payment, not a hunt through a spreadsheet. Refunds revoke the invite and kick the user.
2. What I would build first (and what I would not)
For a first paid course, I would not build an LMS. I would build money in and access out.
- Yes: one payment provider your students already use (Mono or LiqPay in Ukraine, Stripe abroad), webhook, private channel or file drop, a simple admin list of paid user ids.
- Later: installments (two or three invoices, access after the first or after the last - decide in writing), a Mini App player, quizzes, certificates.
- Not in v1: a custom video CDN, a forum, gamification. Those are other products. They do not collect the first hryvnia.
3. Payments that fit this example
Match the provider to the student, not to the trend. A Ukrainian cohort paying 8 000 UAH does not want Stars.
- Ukraine, one-time: Monobank acquiring or LiqPay. Apple Pay / Google Pay on the hosted page. Webhook → invite. Checkbox / Вчасно.Каса if you must fiscalize.
- International cards: Stripe Checkout or Payment Links from the backend, success_url back into Telegram. Subscriptions if the course is a membership - that is a different example.
- Telegram Stars: fine for small in-bot digital goods. Poor fit for a 15 000 UAH cohort if students expect a bank receipt and a ФОП invoice.
Conclusion: a course bot is a cash register plus a door
If you already warm an audience in a channel and lose sales in Direct, this example is usually the smallest paid Telegram product that changes the month. I wire the invoice, the webhook, the invite, and the “I paid” lookup. Want that built for your course - one offer or a small catalog - write via the form and we will scope it.
Need this built, not just explained?
Telegram Mini App development: Next.js, payments, bots. Direct contractor.
Ready to discuss your project?
I'm a senior web engineer specializing in React and Next.js - available for freelance projects worldwide.
Location
Kyiv, Ukraine
Upwork
View ProfileTelegram
Contact meViber
Contact me