Обновить

Telegram Stars в боте: попробовал прикрутить, делюсь что удивило

Давно хотел добавить платежи в одного из своих ботов. Раньше использовал ЮKassa через нативный Telegram Payments. Но в этот раз решил попробовать Stars, всё-таки нативная валюта платформы, без внешних провайдеров.

Настройка оказалась проще чем ожидал. Никаких provider_token, никакой возни с webhook от платёжки. Просто отправляешь инвойс с указанием суммы в Stars и обрабатываешь successful_payment. Примерно так:

python

await bot.send_invoice(
    chat_id=message.chat.id,
    title="Премиум доступ",
    description="Доступ на 30 дней",
    payload="premium_30d",
    currency="XTR",
    prices=[LabeledPrice("30 дней", 100)]
)

Работает. Пользователь платит не выходя из Telegram, конверсия реально выше чем при редиректе на внешнюю страницу.

Но есть нюансы которые я не учёл сразу.

Первое: если пользователь покупал Stars через iOS или Android, Telegram отдаёт разработчику примерно 70% от суммы, остальное Apple и Google забирают себе. Если через десктоп или веб — почти всё твоё. Это принципиально меняет экономику для аудитории которая сидит на телефоне.

Второе: возвраты. Stars можно вернуть и Telegram это делает по запросу пользователя. Нужно обрабатывать refunded_payment иначе пользователь получит деньги обратно а доступ у него останется.

Третье: вывод только через Fragment в TON. Для российского юрлица это отдельная история.

В целом для цифровых товаров и небольших сумм Stars удобнее чем внешние платёжки. Но если оборот серьёзный или нужен рублёвый вывод, ЮKassa всё ещё выглядит надёжнее.

Кто уже работает со Stars в продакшене, как решаете вопрос с выводом в рубли?

Теги:
+4
Комментарии0

Публикации