Тип бота
Принимать оплату без мерчант-аккаунта — за то, что Stars разрешают
Бот оплаты через Telegram Stars берёт деньги за цифровые товары, подписки и доступ собственной валютой Telegram: расчёты ведёт сам Telegram, мерчант-аккаунт и обработка карт не нужны. За физические товары Stars брать нельзя. Telegram удерживает свою долю, а у выплат есть собственные правила.
Боты оплаты через Telegram Stars: цена, сроки и ограничения
- Фиксированная цена
- $6,700 USD
- Срок
- 28 календарных дней с момента старта
- Запрос перед оплатой
- Ответ примерно за 10 секунд, иначе платёж не проходит
- Что разрешено продавать
- Только цифровые товары и услуги
- Платёжные апдейты
- Как минимум один раз — могут прийти повторно
- Возвраты
- Доступны через Bot API ограниченное время после списания
As of 2025-10-01, Telegram Bot API 13.4
Какую задачу это решает
Получение мерчант-аккаунта — тот самый шаг, на котором умирает большинство небольших цифровых продуктов. Карточному процессингу нужно юрлицо, лицензия, история, а нередко и резерв; для автора, продающего доступ в закрытый канал, или для проекта, продающего отчёт, эти накладные расходы больше самого продукта. Stars их снимают: платёж проводит Telegram, пользователь платит балансом, который у него уже есть или который он пополняет прямо в приложении, и ни одна карта не касается вашей инфраструктуры.
Очевидная оговорка — что именно на Stars разрешено покупать. Правила Telegram ограничивают их цифровыми товарами и услугами: доступ, подписки, контент, внутренние предметы. Продажа за Stars чего-либо физического — нарушение, ставящее под удар самого бота, и ошибку эту делают постоянно, потому что API вас не остановит. Вторая оговорка — экономика: Telegram берёт свою долю, и эффективная ставка сравнивается с карточным процессингом по-разному в зависимости от вашего ценника и вашей юрисдикции.
По-настоящему сильны Stars там, где речь о трении. У человека, нажимающего «купить», нет формы для заполнения, нет карты, которую надо искать, нет прерывания на 3-D Secure. На малых суммах конверсия оплаты через Stars заметно выше карточной, а для покупки за два доллара эта разница решает, существует продукт вообще или нет. Разработку стоит затевать, когда товар цифровой, ценник низкий, а аудитория и так сидит в Telegram.
Как идёт разработка
Продукт описывается как право доступа, а не как платёж
Что покупатель получает, на какой срок и что происходит, когда срок кончается. Моделирование покупки вместо права — причина, по которой у стольких ботов платного доступа есть пользователи, которые заплатили и потеряли доступ, и пользователи, которые не платили и доступ сохранили.
commandsСчёт приходит прямо в чат
Telegram сам рисует цену в Stars и берёт на себя интерфейс оплаты. Ни формы, ни перехода на другой сайт — в этом и состоит всё преимущество по конверсии.
payments-apiЗапрос перед оплатой обрабатывается до того, как двинутся деньги
Telegram просит бота подтвердить, что заказ ещё действителен, и ответить надо за считаные секунды. Именно здесь проверяются остатки, право на покупку и повторные оплаты — после платежа поздно.
payments-apiУспешный платёж выдаёт права идемпотентно
Ключом служит идентификатор списания в Telegram, поэтому повторная доставка того же апдейта не выдаст права дважды. Платёжные вебхуки доставляются как минимум один раз, и это не теоретическая оговорка.
webhookДоступ каждый раз сверяется с текущими правами
Членство в канале, доступ к функции или выдача контента проверяются по актуальному праву, а не по флагу, выставленному в момент покупки. Именно это заставляет корректно работать и истечение, и возврат.
chat-member-updatesВозврат отзывает доступ, а не только возвращает Stars
Bot API позволяет вернуть платёж в Stars в пределах окна. Возврат, который отдаёт деньги и оставляет доступ, — это дыра, и она возникает сама собой, если права смоделированы небрежно.
payments-api
Что Telegram разрешает, а что нет
Telegram Stars разрешены только для цифровых товаров и услуг, но не для физических.
Это ограничение правил, а не техники: API с удовольствием выставит счёт за футболку. Такая продажа ставит бота под удар, поэтому физическая отгрузка уходит к обычному провайдеру.
Бот обязан ответить на `pre_checkout_query` примерно за 10 секунд, иначе платёж не пройдёт.
У каждой проверки на этом пути жёсткий бюджет задержки. Синхронный вызов медленного стороннего API перед оплатой будет терять продажи — нерегулярно и непонятно почему.
Платёжные апдейты доставляются как минимум один раз и могут прийти повторно.
Выдача прав идемпотентна по идентификатору списания. Без этого повторная доставка продлит подписку дважды, и расхождение всплывёт при сверке, а не в момент события.
Возврат Stars доступен через Bot API лишь ограниченное время после списания.
Ваша политика возвратов не может обещать больше, чем позволяет это окно. За его пределами возврат — ручной жест доброй воли, и в условиях надо так и написать.
Telegram удерживает долю выручки в Stars, а выплата подчиняется собственным порогам и графику.
Эффективная ставка и сроки поступления денег отличаются от карточного процессинга. На дешёвых цифровых товарах Stars обычно всё равно выигрывают на конверсии, но сравнение стоит посчитать, а не предположить.
Когда это не нужно строить
- Вы продаёте что-либо физическое. Stars для этого не разрешены, и разработка на предположении об обратном ставит бота под удар.
- У вас высокий ценник. На больших суммах преимущество в конверсии тает, а удерживаемая доля становится главным слагаемым; карточный процессинг обычно дешевле.
- Вам нужно быстро получать деньги на операционный счёт. У выплат в Stars свой график и свои пороги, что не подходит бизнесу, который платит поставщикам еженедельно.
- Ваши покупатели вне Telegram. Stars требуют аккаунта Telegram и баланса, а для того, кто ещё не внутри, это не ступенька, а стена.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| grammY | 1.45 | Фреймворк бота с обработчиками платежей и запроса перед оплатой. |
| Cloudflare Workers | current | Среда исполнения, подобранная под бюджет задержки перед оплатой. |
| Cloudflare D1 | current | Права доступа, идентификаторы списаний, возвраты и записи сверки. |
| Zod | 4.4 | Валидация платёжных данных, которые приходят извне вашего контроля. |
| TypeScript | 5.9 | Строгий режим. Состояние прав доступа граничит с деньгами и типизируется соответственно. |
О чём спрашивают перед стартом
Можно ли продавать за Stars физические товары?
Нет. Telegram ограничивает Stars цифровыми товарами и услугами, и API нарушить это не помешает: граница проведена правилами и держится на последствиях, а не на ошибках. Физические товары идут через обычного платёжного провайдера.
Как удерживаемая Telegram доля соотносится с карточным процессингом?
Telegram берёт свою часть, а выгоднее это или нет — зависит от вашего ценника. На дешёвых цифровых покупках преимущество оплаты в одно касание обычно перевешивает ставку. На крупных суммах, как правило, уже нет, и сравнение стоит посчитать на собственных цифрах.
Нужен ли нам мерчант-аккаунт или лицензия?
Нет, и в этом основная привлекательность. Для Stars продавцом записи выступает Telegram, поэтому у вас нет ни обработки карт, ни зоны соответствия PCI, ни отношений с эквайером, которые пришлось бы выстраивать.
Что будет, если мы вернули деньги, а доступ у пользователя остался?
Именно вокруг этого сценария и строится разработка. Доступ сверяется с актуальным правом, а не с флагом, выставленным при покупке, поэтому отзыв права закрывает доступ немедленно. Дыра появляется тогда, когда моделируют покупку вместо права.
Можно ли на этом сделать регулярные подписки?
Да. Telegram поддерживает повторяющиеся списания в Stars, а модель прав описывает продление, истечение и повторную подписку как переходы состояния, а не как отдельные покупки, — благодаря чему доступ остаётся корректным во всех трёх случаях.
Что произойдёт, если один и тот же платёжный вебхук придёт дважды?
Ничего, и так задумано. Выдача идемпотентна по идентификатору списания, поэтому повторная доставка ничего не меняет. Платёжные апдейты гарантируются как минимум однократно, дубли реально случаются, так что это требование к корректности, а не перестраховка.