← Главная

🛡️ Антифрод триала при подключении бота

DS-1001 [BACK] + DS-1002 [FRONT] · Дата: 07.05.2026 · Статус: MR на тестировании

📎 Jira

📋 Суть фичи

Расширение существующего антифрода (DS-798), который сейчас срабатывает только в момент активации триала. Новый функционал добавляет проверку в момент подключения бота — чтобы закрыть сценарий обхода.

Сценарий обхода (который закрываем):

Регистрация пустого аккаунта A Подключение бота → активация триала Регистрация пустого аккаунта B Подключение того же бота к B ❌ Второй триал

Что теперь происходит:

🖥️ Стенд

Full URL: https://deploy-preview-994--chatplace-front.netlify.app/?preview-api-core=https://api-2201.review.chatplace.io/
Back: https://api-2201.review.chatplace.io/
Login: https://deploy-preview-994--chatplace-front.netlify.app/auth/sign-in/?preview-api-core=https://api-2201.review.chatplace.io/

🔧 Подготовка к тестированию

Аккаунт AДля «прожигания» триала на боте. Логин: 1001a@mail.com, пароль: 1001a@mail.com
Аккаунт BДля попытки подключить тот же бот. Логин: 1001b@mail.com, пароль: 1001b@mail.com
Тестовый ботTelegram бот (через @BotFather или существующий тестовый)
Stripe — успех4242 4242 4242 4242
Stripe — отказ4000 0000 0000 0002

Порядок подготовки:

  1. Зарегистрировать Аккаунт A через email
  2. Подключить Telegram бота к Аккаунту A
  3. Активировать триал на Аккаунте A
  4. Зарегистрировать Аккаунт B через email
  5. Аккаунт B — пустой, без бота, без триала
Прогресс: 0 / 8

Новый бот (без истории), аккаунт не на триале — стандартное подключение

Шаги:

  1. Зайти под Аккаунтом B
  2. Подключить новый Telegram бот (не тот, что на Аккаунте A)

Ожидание:

  1. Бот подключается стандартно, без модалок
  2. Триал активируется
  3. В API-ответе нет поля trialConflict

Бот с использованным триалом, аккаунт НЕ на триале → «Подключить и оплатить»

КонфликтОплата

Шаги:

  1. Зайти под Аккаунтом B (пустой, без триала)
  2. Подключить того же бота, что на Аккаунте A
  3. Появляется модалка
  4. Нажать «Подключить и оплатить»
  5. Ввести карту 4242 4242 4242 4242

Ожидание:

  1. Модалка с текстом про отмену триала и полную оплату
  2. Списание полной оплаты
  3. Бот подключается
  4. Триал НЕ активирован

То же что TC-2, но «Отменить» — бот не подключается

КонфликтОтмена

Шаги:

  1. Повторить TC-2 до модалки
  2. Нажать «Отменить»

Ожидание:

  1. Модалка закрывается
  2. Бот НЕ подключён
  3. Никаких списаний

Бот с использованным триалом, аккаунт НА триале → подтверждение

КонфликтОплата

Предусловие: Аккаунт B имеет активный триал (от другого бота)

Шаги:

  1. Зайти под Аккаунтом B (с активным триалом)
  2. Подключить бота с Аккаунта A
  3. Модалка «триал будет отменён»
  4. Нажать «Подключить и оплатить»
  5. Карта 4242 4242 4242 4242

Ожидание:

  1. Триал отменяется
  2. Полная оплата списывается
  3. Бот подключается
  4. План = оплачен (не триал)

То же что TC-4, но «Отменить» — триал остаётся

КонфликтОтмена

Шаги:

  1. Повторить TC-4 до модалки
  2. Нажать «Отменить»

Ожидание:

  1. Триал остаётся активным
  2. Бот НЕ подключён
  3. Никаких списаний

Карта отклонена — бот НЕ подключается

НегативныйОплата

Шаги:

  1. Выполнить TC-2 или TC-4 до подтверждения
  2. Нажать «Подключить и оплатить»
  3. Ввести карту 4000 0000 0000 0002

Ожидание:

  1. Стандартная ошибка оплаты
  2. Бот НЕ подключён
  3. Триал НЕ отменён (если был)

После TC-2 — профиль обновился корректно

Верификация

Шаги:

  1. После завершения TC-2 проверить профиль
  2. Проверить список подключённых ботов
  3. Проверить статус подписки

Ожидание:

  1. Триал снят
  2. Бот подключён и виден в списке
  3. План = Pro (оплачен)

DS-798 антифрод — старые проверки работают

Регрессия

Шаги:

  1. Создать аккаунт C → активировать триал
  2. Создать аккаунт D → попытаться активировать триал с того же устройства

Ожидание:

  1. DS-798 блокирует повторный триал на том же устройстве
  2. Новый функционал не сломал существующие проверки
⚠️ Правила:
❓ Открытые вопросы: