Бот закрытого канала: человек выбирает тариф, платит и получает приглашение. Доступ выдаётся сам, продление напоминает о себе само.



Три варианта подписки, цена и что внутри. Выбор сохраняется в заказе, а не в памяти диалога.
Бот создаёт платёж с уникальным номером и отдаёт ссылку. Способ — карта или СБП.
Сервер принимает вебхук, проверяет подпись и сумму. Решение об открытии доступа принимает сервер.
Бот создаёт одноразовую ссылку-приглашение в канал и отправляет её сообщением. Срок жизни ссылки — 24 часа.
Срок хранится в базе. За три дня бот напоминает, в день окончания — предлагает продлить, после — закрывает доступ.
| Случай | Решение |
|---|---|
| Оплата пришла дважды | Проверка по номеру платежа: второй раз доступ не создаётся, деньги не теряются |
| Вебхук не дошёл | Периодическая сверка с платёжным сервисом по неоплаченным счетам |
| Человек вышел из канала | Доступ восстанавливается по кнопке, ссылка выпускается заново |
| Отменил продление | Доступ работает до конца оплаченного периода, потом закрывается |
| Возврат платежа | Доступ снимается автоматически, в журнале остаётся причина |
| Бот заблокирован | Приглашение и статус доступны в веб-кабинете, подписка не рвётся |