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

Продажи

Всё про деньги в одном разделе:

  • 🪄 Быстрая настройка тарифов — мастер задаёт цены/сроки за несколько шагов (включая трафик и HWID). Самый быстрый старт.
  • ✏️ Тонкая настройка тарифа — вручную по пунктам:
    • Базовая цена на каждый срок (1/3/6/12 мес).
    • Трафик (ГБ) на тариф; 0 = безлимит.
    • Устройства (HWID) на тариф — можно, например, на годовой дать больше устройств.
    • Стратегия сброса трафика: NO_RESET, DAY, WEEK, MONTH, MONTH_ROLLING (скользящие 30 дней от активации).
  • 🧾 Тарифы — несколько тарифов вместо одной сетки. Быстрая и тонкая настройка выше правят тариф «Базовый» — он создаётся из вашей текущей сетки автоматически, при обновлении бота ничего перенастраивать не нужно. В разделе:
    • Карточка тарифа: имя, значок (показывается в витрине и заголовке карточки вместо стандартного 📦), описание, порядок в витрине, вкл/выкл, дублирование, удаление.
    • 💲 Цены и лимиты: свои сроки и цены (в т.ч. по способам оплаты), валюта, трафик/устройства и сквады — на тариф и с переопределением на отдельный срок (например, на годовой дать больше устройств).
    • 🔐 Доступность: всем / только новым / только действующим / по списку (Telegram ID или почта веб-кабинета) / по ссылке — тариф скрыт из витрины и открывается только по прямой ссылке t.me/ВАШ_БОТ?start=plan_КОД (код неперебираем, попытки подбора троттлятся). Купившие закрытый позже тариф сохраняют право продления.
    • ➕ Доп-подписка на уровне тарифа: вкл / выкл / как в общих настройках, своё название и описание опции.
    • 📤 Экспорт / 📥 Импорт тарифа JSON-файлом (условия + список допущенных) — удобно переносить между установками.
    • Покупатель видит тарифы витриной: список с ценами «от …», карточка с описанием, странами и условиями по срокам. Смена тарифа не сжигает остаток (зачёт днями по соотношению цен, сдвиг виден до оплаты), а условия покупки фиксируются снимком в момент оплаты.
  • 🎁 Триал и 📡 Сквады (внешний один + внутренние через запятую).
  • Способы оплаты — P2P / Stars / ЮKassa / CryptoBot / Platega / Heleket / Tribute. У каждого свой экран настройки.
  • 📒 История платежей (с итогами: платящих и суммы) и 📊 Аналитика (выручка за день/7/30 дней/всего, конверсия, популярный тариф, разбивка по методам).
  • 🧾 Лог заказа (внутри Истории платежей): каждый шаг каждой оплаты — создание счёта, вебхук, перепроверка по API провайдера, действия в панели, дубли, реконсилятор — пишется в журнал. Введите ext_id платежа или Telegram ID клиента — бот пришлёт весь журнал .log-файлом. Записи хранятся 90 дней.
  • 🧾 Чеки (МойНалог) — автофискализация дохода для самозанятых (чеки формируются только по платежам ЮKassa).
  • ➕ Доп-подписка (add-on) — второй аккаунт в панели рядом с основным, со своим лимитом трафика и своими сквадами. См. ниже.

Включается в Продажи → ЮKassa → 🔁 Автоплатежи. Требует, чтобы автоплатежи (рекуррентные платежи) были включены вашему магазину в кабинете ЮKassa — иначе ЮKassa не вернёт сохранённый способ оплаты.

Настройки на экране ЮKassa:

  • 🔁 Автоплатежи вкл/выкл — предлагать ли пользователям автопродление.
  • 📅 Дней до списания — за сколько дней до конца подписки списывать (0 — в день окончания, максимум 14).
  • Тут же видно, у скольких пользователей автопродление подключено.

Как это выглядит у пользователя:

  1. Оплата картой идёт как обычно. На экране оплаты бот предупреждает: карта сохранится в ЮKassa (номер карты бот не видит и не хранит), но списывать что-либо начнём только с согласия.
  2. После успешной оплаты приходит предложение: «Включить автопродление?» — с периодом, датой будущего списания и объяснением, как отключить. Кнопки «Да, включить» и «Не надо, буду платить сам».
  3. Если согласился — бот дальше сам продлевает подписку по актуальной цене тарифа и присылает уведомление о каждом списании. Если отказался — не списывается ничего, а включить можно позже той же кнопкой (карта уже сохранена).
  4. Отключить можно в любой момент: «Моя подписка» → «🔁 Автопродление» → «Отключить», а также в мини-аппе и в веб-кабинете. После отключения списаний нет, подписка доработает оплаченный срок.
  5. Если списание не прошло (нет денег, банк отклонил), бот пишет об этом пользователю и пробует ещё раз через сутки; после трёх неудач подряд автопродление выключается само. Админу уходит уведомление о первой неудаче и об итоговом отключении — успешные списания не спамят, они видны в истории платежей и логе заказа.
  6. Проблемы на стороне магазина (неверные ключи, сбой ЮKassa, стёртая цена тарифа) пользователю как «карта не прошла» не показываются и его автопродление не выключают: попытка просто откладывается, а админ получает одно сообщение о том, что автосписания не проходят.
  7. Деньги не спишутся дважды: ключ идемпотентности привязан к периоду подписки, повторная попытка после обрыва связи попадает в тот же платёж, списание в пределах суток после любой оплаты не выполняется, а период, за который уже списали, помечается оплаченным — второй раз за него не спишется, даже если продление в панели сорвалось. Такой платёж остаётся в очереди (его добивает реконсилятор), а админ сразу получает сообщение «деньги списаны, подписка не продлена».
  8. Напоминание об окончании подписки у таких пользователей содержит строчку «продлим сами, ничего делать не нужно».

Удаление пользователя из бота удаляет и его автосписание — «висящих» списаний не остаётся.

Бот только создаёт и ведёт второй аккаунт (B) в панели; склеивает две подписки в одну ссылку прослойка подписок — её режим «слияние подписок» подмешивает узлы B в тело основной подписки, клиент получает одну ссылку.

Что делает бот:

  • Создаёт B рядом с основной подпиской A: имя <имя A> + суффикс (по умолчанию _addsub), тег CHILLBOT_ADD, без telegramId — ровно тот вид, который прослойка ищет авто-дискавери.
  • Наследует от A срок, стратегию сброса и лимит устройств; трафик и internal-сквады B задаются в админке.
  • Держит B в одном состоянии с A: продление (со сбросом трафика B), блокировка/разблокировка, удаление.
  • 🔄 Синхронизировать всех — разово создаёт/обновляет B у всех активных пользователей с привязанным Telegram. Нужно после включения функции: иначе B появляется только при следующей оплате. Заодно переводит доп-подписки, заведённые старыми версиями бота под именем tg_ID_addsub, на имя, которое ищет прослойка — старый пользователь панели при этом удаляется, поэтому ручную привязку в прослойке (если она была настроена именно на него) придётся прописать заново. Автоматические пути (оплата, продление) ничего не удаляют и не переименовывают.
  • «Сбросить устройства» у пользователя чистит HWID обеих подписок — прослойка передаёт заголовки устройства и во вторую, поэтому слоты занимаются в обеих.
  • Остаток трафика доп-сервера виден пользователю в «Моей подписке», мини-аппе и веб-кабинете.
  • Опцию можно включать на уровне тарифа (вкл / выкл / как в общих настройках) со своим названием и описанием — покупатель видит её в карточке тарифа только там, где она продаётся.

Важно: суффикс в боте и в прослойке должен совпадать (по умолчанию _addsub с обеих сторон) — иначе прослойка просто не найдёт вторую подписку и слияние тихо не сработает. Прослойка кэширует результат поиска (по умолчанию 10 минут), так что новая B подхватывается не мгновенно.

Все цены задаются в рублях. P2P и ЮKassa всегда в ₽; Stars пересчитываются из ₽ приблизительно (бот это помечает); CryptoBot работает в фиат-режиме — цена в ₽, оплата криптой по курсу; Platega берёт базовые цены в ₽; Heleket тоже берёт базовые цены в ₽ и пересчитывает их в крипту сам.