Оплата в Telegram ботах с помощью Stars
Недавно Павел Дуров в своём телеграм-канале анонсировал оплату в ботах с новой валютой Telegram Stars. Теперь все цифровые товары в ботах должны покупаться и продаваться через эту валюту. Если же ваши товары не цифровые, вы можете оставить оплату через обычные платежи.

Это вынужденная мера в связи с условиями компании Apple: покупки внутри приложений, продающихся в AppStore, должны приносить Apple комиссию в 30% за каждый платёж. Во избежании непечатных слов, мы не будем давать оценку поведению компании Apple.
В случае, если ваш бот не будет использовать Telegram Stars для продажи цифровых приложений – он будет заблокирован, как минимум, для пользователей из AppStore.
Что ж, раз нам не дают выбора – давайте посмотрим как этим пользоваться.
Платежи через Telegram Stars
Для демонстрации я использую код на python с библиотекой Аiogram 3.0.
Для начала нам нужно создать цифровой товар – это просто, тут все как раньше:
one = types.LabeledPrice(label='Одна покупка', amount=1)
Тут label – это описание товара, а amount это стоимость – кол-во звёзд, которое вы за него получите. Курс Telegram Stars привязан к доллару в соотношении примерно 1 к 50, но это при покупке. После изъятия 30% комиссии Apple и 4-5% комиссии телеграм, вы получите ~65% от стоимости. Это стоит учитывать при указании цен.
Таблица с курсом:

После создания товара мы создаём платёж:
await bot.send_invoice(
msg.chat.id,
title="Заголовок покупки ",
description="Подробное описание покупки ",
provider_token="",
currency="XTR",
photo_url="ссылка на фото",
photo_width=3600,
photo_height=2338,
photo_size=262000,
is_flexible=False,
prices=[one],
start_parameter="one-more",
payload="one-more"
)
Как можете заметить, provider_token
тут – пустая строка, так и нужно, так как провайдером в данном случае является сам телеграм и нам не нужно получать никакой токен.
В качестве валюты указываем “XTR” – это название Telegram Stars и в массив prices
кладём наши товары.
Полный код примера можете найти на GitVerse и GitHub. А пример посмотреть в боте.
Вывод Telegram Stars в реальные деньги
На официальном сайте телеграм написано следующее:
Разработчики могут получать вознаграждение, эквивалентное 0,013 долларам США за каждую звезду Telegram.
Telegram определяет денежную стоимость, которую он присваивает Stars, по своему собственному усмотрению, и эта стоимость не имеет прямой или подразумеваемой связи с исторической, настоящей или предполагаемой будущей стоимостью покупки Stars в каком-либо конкретном регионе. Вы признаете, что как стоимость покупки Star, так и денежная оценка, которую Telegram присваивает им в целях вознаграждения, могут меняться с течением времени в зависимости от текущих рыночных условий, экономических соображений и других факторов. Мы не ожидаем частых изменений денежной стоимости, присваиваемой Звездам с целью выдачи вознаграждений.
<…>
По техническим причинам Звездочки на вашем балансе могут быть недоступны для получения рекламных кредитов или вознаграждений в течение 21 дня после их получения.
<…>
В настоящее время Telegram передает обработку вознаграждений на аутсорсинг Fragment, платформе, принадлежащей и управляемой Fragment Corp. Вы понимаете и соглашаетесь с тем, что ваше взаимодействие с Fragment в дальнейшем регулируется Условиями предоставления услуг Fragment и Политикой конфиденциальности.
ДОПОЛНЕНИЕ: Вывод теперь доступен в виде покупки рекламы или через криптовалюту:

Выводы
Как ни странно, у данной валюты есть плюсы:
Так как она встроенная и принадлежит самому телеграм – не нужен провайдер платежей в виде Юкассы, Робокассы и тд. Не нужна особая верификация и долгое оформление через ИП или самозанятость.

Но минусы тоже имеются:
- Придётся повысить стоимость товаров для пользователей как минимум на 30%, чтобы получать те деньги, что раньше.
- Если не перейти на эти странные и страшные звёзды – вашего бота могут заблокировать. Прецеденты уже были.
Связанные статьи: Монетизация Телеграм-бота | GigaChat API | GitVerse Хостинг git-репозиториев от сбера