Telegram Mini App: личный кабинет абонента (тариф, баланс, оплата)
ЛК абонента в Telegram: баланс, тариф, трафик и пополнение через ЮKassa.
FastAPI, React, Telegram Mini App, ЮKassa
Клиент — региональный ISP (~8 000 абонентов). Личный кабинет на сайте — слабый mobile UX; 60% обращений в поддержку: «сколько на балансе», «какой тариф», «как оплатить». Абоненты активны в Telegram — канал провайдера 12K подписчиков.
Задача: Mini App ЛК — баланс, текущий тариф, расход трафика, история платежей, смена тарифа, пополнение через ЮKassa. Доступ по номеру договора + OTP или привязка при первом входе.
- Mini App: dashboard, график трафика, кнопка «Оплатить»;
- API к billing-системе провайдера: balance, tariff, payments, change_plan;
- OTP по SMS для привязки аккаунта; session в Telegram initData + JWT;
- оплата: invoice link, webhook → обновление баланса в реальном времени;
- FAQ и «сообщить о проблеме» → тикет в helpdesk;
- offline banner при недоступности billing API;
- админ: метрики MAU Mini App, топ запросов в поддержку.
Стек: React, Telegram WebApp SDK, FastAPI, REST billing API, ЮKassa, PostgreSQL, aiogram, Docker. Приёмка: 10 абонентских сценариев на staging billing.
Итог: обращений «баланс/тариф» −35%; оплата через Mini App — 28% всех пополнений. NDA: провайдер не публикуется.