Главная / Кейсы / Платформа подписок
Кейс

Платформа подписок для инвестиционного советника

Telegram-бот, бот для MAX и админ-панель · единственный разработчик · 1,5–2 месяца до продакшена

Заказчик — независимый инвестиционный советник из реестра ЦБ РФ. Клубные подписки на его аналитику продавались, оплачивались и продлевались вручную. Я собрал систему, в которой продажа, оплата, продление, чеки и доступ к аналитике работают без участия заказчика.

Проект
antifragile-trading.ru
в продакшене
Роль
Единственный разработчик, полный цикл: от модели данных до деплоя
1 разработчик
Срок
От старта до продакшена
1,5–2 мес.
~6 000подписчиков
~3 млн ₽оборот в месяц
2платёжных провайдера
2мессенджера: Telegram и MAX

Задача

что было

Продажа клубных подписок и приём оплат шли вручную. Требовалось автоматизировать продажу и продление подписок, регулярные списания и доставку аналитики клиентам — с соблюдением 54-ФЗ.

Решение

три части на общем бэкенде
01

Telegram-бот

Продаёт и продлевает подписку, принимает оплату через провайдера, доставляет аналитику подписчикам.

Telegram Bot API
Разработка Telegram-ботов →
02

Бот для MAX

Добавлен, когда часть аудитории ушла из Telegram. Работает на том же бэкенде, поэтому канал доставки не потеряли, а подписчиков не пришлось переносить в новую систему.

MAX API
Разработка ботов для MAX →
03

Админ-панель

Подписчики, подписки и платежи в одном месте для заказчика.

Vue 3

Платежи

где ошибка стоит денег
01

Две платёжные интеграции с рекуррентными списаниями

Автопродление подписки через провайдеров и обработка их вебхуков.

CloudPayments · Rocketr · вебхуки
02

Идемпотентность по external_id провайдера

Двойные списания и дубли подписок исключены на уровне модели данных: повторное уведомление от провайдера не создаёт второй платёж.

PostgreSQL · модель данных
03

Фискализация по 54-ФЗ

Чеки по платежам формируются автоматически, без ручной работы заказчика.

54-ФЗ
04

Жизненный цикл подписки и доступ к контенту

Оформление, продление и окончание подписки управляют доступом к платной аналитике: доступ выдаётся после оплаты и снимается, когда подписка заканчивается.

разграничение доступа
бот выдаёт ссылку→подписчик платит→провайдер шлёт вебхук→бэкенд пишет платёж и чек→доступ в Telegram или MAX
Подключение оплаты и подписок в боте → Интеграция платёжных систем →

Результат

что стало

Заказчик больше не участвует в приёме платежей: продажа и продление подписок идут без ручных операций. Когда часть аудитории ушла из Telegram, бот для MAX сохранил канал доставки аналитики.

Стек

чем собрано
Backend
PHPLaravelPostgreSQL
Frontend
Vue 3
Мессенджеры
Telegram Bot APIMAX API
Платежи
CloudPaymentsRocketr54-ФЗ

Похожая задача?

Если подписки, оплата или доступ к контенту у вас пока держатся на ручной работе, напишите в Telegram. Разберём на созвоне за двадцать минут.

Telegram@uzver_ge
Почтаmyworkermailbox2022@gmail.com
Ещё кейсына главной