Пробный период должен помогать пользователю познакомиться с продуктом, а не превращаться в бесконечный бесплатный доступ. Если 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.