Перейти к содержимому

Tribute

Tribute продаёт доступ подпиской на Telegram-канал: сам списывает деньги, сам продлевает и присылает боту вебхук. По нему бот выдаёт подписку в панели.

  1. Каждый тариф бота привязан к своей подписке Tribute. У подписки есть периоды (неделя, месяц, 3 месяца, полгода, год) со своими ценами.
  2. Покупатель выбирает в боте тариф → «🎁 Оплатить через Tribute» → на странице Tribute выбирает период и платит.
  3. По вебхуку бот определяет тариф по подписке, срок — по периоду, и выдаёт доступ. Так же и при каждом продлении.

Покупатель платит цену Tribute, а не цену из бота. Бот цены не сверяет — держите их одинаковыми.

  1. Канал. Создайте приватный канал (можно пустой) и подключите его в Tribute — без канала подписку не создать. Tribute попросит добавить своего бота в канал администратором.
  2. Подписка. Дэшборд автора → Подписки → канал → Подписка: название, описание → периоды, цены и валюта (₽, $ или €) → Создать (инструкция Tribute). Каждому тарифу бота — своя подписка, а её периоды должны совпадать со сроками тарифа (см. таблицу).
  3. Ссылка. У подписки откройте Ссылки и скопируйте Telegram-ссылку (t.me/tribute/app?startapp=…), а не веб-ссылку (web.tribute.tg/s/…). Через веб покупатель может войти по почте — тогда Tribute не передаст его Telegram ID, и выдать подписку будет некому (про ссылки).
  4. API-ключ и вебхук. Дэшборд автора → Настройки (меню «⋯») → API-ключи: создайте ключ и укажите вебхук https://ВАШ_ДОМЕН/webhook/tribute. Про домен — Вебхуки и reverse-proxy.

Продажи → 🎁 Tribute:

  • тумблер — показывать ли Tribute покупателям. Оплаты, пришедшие при выключенном тумблере, всё равно выдаются: деньги уже приняты;
  • 🔑 API-ключ — ключ из Tribute. По нему бот проверяет подпись вебхука и получает список ваших подписок. Без ключа вебхуки отклоняются, но Tribute повторяет доставку около суток — впишите ключ вовремя, и оплата не потеряется;
  • 🔗 Ссылка «Базового» — Telegram-ссылка на подписку тарифа «Базовый».

🎁 Tribute → 🧾 Тарифы и подписки — все тарифы с метками:

Метка Значение
✅ у тарифа есть кнопка Tribute
⚠️ привязка неполная — нет подписки или ссылки
➖ не привязан
♻️ прежняя подписка тарифа: кнопки нет, но её подписчики продолжают получать этот тариф
♻️ … ❌ подписка удалённого тарифа — оплаты по ней отклоняются

В карточке тарифа:

  • 📋 Выбрать из Tribute — список ваших подписок с периодами (🔒 — уже занята другим тарифом). После выбора бот покажет, какие периоды подходят к срокам тарифа, а какие будут отклоняться;
  • 🔢 Ввести ID — если список не загрузился. ID подписки есть в журнале платежей, в строке webhook: «подписка #ID»;
  • 🔗 Ссылка оплаты — Telegram-ссылка на эту подписку;
  • 🗑 Отвязать подписку — см. ниже.

Кнопка «Оплатить через Tribute» появляется у тарифа, когда заданы и подписка, и ссылка. «Базовому» достаточно ссылки.

Период Tribute Что выдаёт бот Какой срок нужен в тарифе
неделя (weekly) 7 дней 1 месяц — условия берутся от него
месяц (monthly) 1 месяц 1 месяц
3 месяца (quarterly) 3 месяца 3 месяца
полгода (halfyearly) 6 месяцев 6 месяцев
год (yearly) 12 месяцев 12 месяцев
onetime, trial и любые другие не выдаётся —

Из срока тарифа берутся трафик, лимит устройств и сквады, поэтому он должен быть с ценой. Если срока нет, оплата не выдаётся, а вам и покупателю приходит уведомление. Заводите в Tribute только те периоды, что есть в тарифе — карточка тарифа подсветит лишние.

Бесплатные события Tribute (пробный период, подарок, нулевая сумма) подписку не выдают — у бота свой триал.

  • Кнопку «🎁 Оплатить через Tribute» в чате, мини-аппе и веб-кабинете и список подходящих сроков. Если ни один период подписки не подходит к тарифу, кнопки нет.
  • Платить нужно тем же Telegram-аккаунтом, что в боте. Поэтому в кабинете, куда вошли по почте без привязки Telegram, Tribute недоступен.
  • После оплаты бот сам присылает «подписка активна» со ссылкой.
  • Продление. Tribute продлевает подписку сам, бот продлевает срок по текущим условиям тарифа.
  • Отмена. Отмена в Tribute выключает только автопродление: оплаченный срок дорабатывает, бот доступ не отбирает.
  • Автопродление картой. Если у покупателя было включено автопродление через ЮKassa, после оплаты через Tribute бот его выключает и сообщает об этом — иначе за один срок списали бы дважды.
  • Недельная оплата. Трафик и лимиты — как у месячного срока тарифа. Продление того же тарифа неделей трафик не обнуляет — его сбрасывает стратегия сброса тарифа.
  • Смена тарифа. Остаток текущей подписки пересчитывается так же, как при других способах оплаты.
  • Другая подписка у тарифа или 🗑 Отвязать подписку. Прежняя подписка остаётся за тарифом (♻️): кнопки у неё нет, но её подписчики продолжают платить и получать этот тариф. Ссылка оплаты тарифа сбрасывается — задайте её заново.
  • Удаление тарифа. Его подписка остаётся в списке с ❌, оплаты по ней отклоняются с уведомлением. Отмените такие подписки в Tribute или привяжите их к другому тарифу.
  • ♻️ Забыть подписку (с подтверждением) — убирает подписку из привязок совсем, дальше она считается непривязанной. Подписку, закреплённую за тарифом, нельзя привязать к другому, пока её не забыть; текущую сначала отвяжите.

По умолчанию подписка Tribute без привязки к тарифу выдаёт «Базовый» по периоду.

Вебхук приходит обо всех ваших подписках Tribute, и подписчики других ваших каналов тоже получили бы «Базовый». Чтобы этого не было, задайте ID подписки и у «Базового»: тогда непривязанные подписки ничего не выдают, а вам приходит уведомление. Ссылка «Базового» в этом случае должна вести именно на эту подписку. Отвязка у «Базового» возвращает прежний режим.

Ситуация Что делает бот
Подпись не сошлась или не задан API-ключ отклоняет, Tribute повторяет доставку около суток; в журнале sign_error
Повторная доставка уже выданной оплаты пропускает
Пробный период, подарок, нулевая сумма не выдаёт
Неизвестный период, в тарифе нет нужного срока, тариф удалён, непривязанная подписка при заданном ID «Базового» не выдаёт, уведомляет вас и покупателя
Нет Telegram ID (покупатель вошёл в Tribute по почте) не выдаёт, уведомляет вас — найдите покупателя в кабинете Tribute и выдайте доступ вручную
Тариф выключен или недоступен покупателю выдаёт (деньги приняты) и уведомляет вас
Панель или база недоступны Tribute повторит доставку позже

Всё пишется в журнал: 📒 История платежей → 🧾 Лог заказа, поиск по Telegram ID покупателя. В строке webhook — событие, период, сумма, ID покупателя в Tribute (trb=…), @username и подписка.

  • Ссылка работает и вне бота. Режим доступности тарифа («только новым», «по списку» и т. п.) её не закрывает. Если тариф оплатил тот, кому он недоступен, подписка выдаётся, а вам приходит уведомление.
  • Новая цена в Tribute действует только для новых подписчиков. Старые продлеваются по старой цене, а бот выдаёт текущие условия тарифа.
  • Лимиты Tribute: минимальный платёж — 100 ₽ / 1 $ / 1 €, комиссия — около 10% (комиссии и лимиты). Недельная цена не может быть ниже минимума.
  • Суммы в журнале — то, что заплатил покупатель, до комиссии Tribute. Платежи в $ и € не попадают в рублёвую выручку и в процент рефереру: бот не конвертирует валюты.
  • Чеки «Мой налог» по Tribute не формируются — только по ЮKassa.
  • Откат версии бота. Старые версии не знают про привязки: при первом сохранении настроек они сотрутся, и все подписки снова будут выдавать «Базовый» по периоду.
  1. Отправьте из Tribute тестовое событие. В журнале платежей должно появиться «тестовый вебхук принят, подпись верна»; sign_error — ключ в боте не тот.
  2. Оформите подписку сами с того же Telegram, что в боте, и проверьте, что пришло «подписка активна», а в панели нужный тариф и срок.