Пробный период должен помогать пользователю познакомиться с продуктом, а не превращаться в бесконечный бесплатный доступ. Если trial можно активировать повторно, проблема почти всегда в слабой привязке ограничения к пользователю или организации.
Главное правило: ограничение должно проверяться на backend по надежным признакам, а не только кнопкой на фронтенде или cookie в браузере.
Коротко: что делать
- Проверить, где хранится факт уже использованного trial
- Посмотреть, можно ли создать новый аккаунт с теми же данными
- Проверить повторную активацию через API, а не только интерфейс
- Сверить ограничения по пользователю, организации, телефону, email и платежному профилю
- Проверить сценарии удаления аккаунта и повторной регистрации
Основные причины
Повторный trial появляется, когда система не умеет надежно связать новое действие с уже использованной попыткой.
- Факт trial хранится только в профиле, который можно удалить
- Ограничение проверяется на frontend
- Email можно менять или создавать алиасы
- API активации не проверяет историю
- Нет отдельной таблицы событий использования trial
Пошаговая диагностика
Диагностика должна пройти по всем обходным путям: новая регистрация, смена email, удаление аккаунта, прямой API-запрос и повторная оплата.
- Создать тестовый аккаунт и активировать trial
- Попробовать повторить активацию через UI и API
- Проверить, что происходит после удаления аккаунта
- Посмотреть журнал тарифных событий
- Проверить уникальные ограничения в базе
Как исправить проблему
Исправление должно вводить устойчивое правило: кто именно имеет право на один trial и какие признаки считаются достаточными для отказа.
- Хранить факт trial в отдельной неизменяемой истории
- Проверять trial на backend при каждой активации
- Привязать ограничение к организации, платежному профилю или подтвержденному контакту
- Добавить идемпотентность к запросу активации
- Логировать отказы и подозрительные повторные попытки
Безопасный план решения
Сначала сформулируйте бизнес-правило: один trial на пользователя, компанию, телефон или платежный профиль. Потом внедряйте проверку на backend и только после этого меняйте интерфейс.
Чего не стоит делать
- Не рассчитывать только на cookie или localStorage
- Не блокировать всех пользователей с похожими именами
- Не удалять историю trial при удалении аккаунта
- Не запрещать повторную покупку вместе с повторным trial
Что подготовить перед исправлением
- Правила пробного периода
- Примеры аккаунтов с повторной активацией
- Схема пользователей и организаций
- Код endpoint активации trial
FAQ
Можно ли полностью исключить обход?
Полностью — нет, но можно закрыть простые и массовые способы повторной активации.
Нужно ли требовать карту для trial?
Это бизнес-решение. Технически важно, чтобы выбранное правило проверялось на сервере.
Что делать со старыми нарушениями?
Можно построить отчет повторных trial и решить, кого переводить на бесплатный тариф, а кого ограничивать.
Когда стоит обратиться за помощью
Помощь нужна, если trial связан с оплатой, тарифами и правами доступа. Ошибка может дать бесплатный доступ к платным функциям.
Итог
Начните с backend-проверки и истории trial. Если нужно закрыть повторную активацию без вреда для нормальных клиентов, можно описать схему тарифов в Telegram @rabotator_support.