← Главная
🛡️ Антифрод триала при подключении бота
DS-1001 [BACK] + DS-1002 [FRONT] · Дата: 07.05.2026 · Статус: MR на тестировании
📋 Суть фичи
Расширение существующего антифрода (DS-798), который сейчас срабатывает только в момент активации триала . Новый функционал добавляет проверку в момент подключения бота — чтобы закрыть сценарий обхода.
Сценарий обхода (который закрываем):
Регистрация пустого аккаунта A →
Подключение бота → активация триала →
Регистрация пустого аккаунта B →
Подключение того же бота к B →
❌ Второй триал
Что теперь происходит:
BACK: При подключении бота проверяет — использовался ли этот бот (или связанный social-аккаунт) для активации триала на другом аккаунте
Если конфликт → возвращает trialConflict: true с данными для модалки
FRONT: Показывает модалку: «У этого аккаунта уже был триал. Если вы подключите его, текущий триал будет отменён и будет списана полная оплата.»
Кнопки: «Подключить и оплатить» / «Отменить»
При подтверждении → повторный запрос с confirm: true → отмена триала + полная оплата + подключение бота
🖥️ Стенд
Back: 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
Порядок подготовки:
Зарегистрировать Аккаунт A через email
Подключить Telegram бота к Аккаунту A
Активировать триал на Аккаунте A
Зарегистрировать Аккаунт B через email
Аккаунт B — пустой, без бота, без триала
Прогресс: 0 / 8
TC-1 Happy path
Новый бот (без истории), аккаунт не на триале — стандартное подключение
Шаги:
Зайти под Аккаунтом B Подключить новый Telegram бот (не тот, что на Аккаунте A)
Ожидание:
Бот подключается стандартно, без модалок Триал активируется В API-ответе нет поля trialConflict
TC-2 Конфликт
Бот с использованным триалом, аккаунт НЕ на триале → «Подключить и оплатить»
Конфликт Оплата
Шаги:
Зайти под Аккаунтом B (пустой, без триала) Подключить того же бота, что на Аккаунте A Появляется модалка Нажать «Подключить и оплатить» Ввести карту 4242 4242 4242 4242
Ожидание:
Модалка с текстом про отмену триала и полную оплату Списание полной оплаты Бот подключается Триал НЕ активирован
TC-3 Отмена
То же что TC-2, но «Отменить» — бот не подключается
Конфликт Отмена
Шаги:
Повторить TC-2 до модалки Нажать «Отменить»
Ожидание:
Модалка закрывается Бот НЕ подключён Никаких списаний
TC-4 Конфликт + активный триал
Бот с использованным триалом, аккаунт НА триале → подтверждение
Конфликт Оплата
Предусловие: Аккаунт B имеет активный триал (от другого бота)
Шаги:
Зайти под Аккаунтом B (с активным триалом) Подключить бота с Аккаунта A Модалка «триал будет отменён» Нажать «Подключить и оплатить» Карта 4242 4242 4242 4242
Ожидание:
Триал отменяется Полная оплата списывается Бот подключается План = оплачен (не триал)
TC-5 Отмена при триале
То же что TC-4, но «Отменить» — триал остаётся
Конфликт Отмена
Шаги:
Повторить TC-4 до модалки Нажать «Отменить»
Ожидание:
Триал остаётся активным Бот НЕ подключён Никаких списаний
TC-6 Карта decline
Карта отклонена — бот НЕ подключается
Негативный Оплата
Шаги:
Выполнить TC-2 или TC-4 до подтверждения Нажать «Подключить и оплатить» Ввести карту 4000 0000 0000 0002
Ожидание:
Стандартная ошибка оплаты Бот НЕ подключён Триал НЕ отменён (если был)
TC-7 Верификация
После TC-2 — профиль обновился корректно
Верификация
Шаги:
После завершения TC-2 проверить профиль Проверить список подключённых ботов Проверить статус подписки
Ожидание:
Триал снят Бот подключён и виден в списке План = Pro (оплачен)
TC-8 Регресс
DS-798 антифрод — старые проверки работают
Регрессия
Шаги:
Создать аккаунт C → активировать триал Создать аккаунт D → попытаться активировать триал с того же устройства
Ожидание:
DS-798 блокирует повторный триал на том же устройстве Новый функционал не сломал существующие проверки
⚠️ Правила:
Тестировать ТОЛЬКО на Chrome через MI node
Язык интерфейса — русский
Регистрация через email, НЕ Google
❓ Открытые вопросы:
Идентификация бота — по external_id соцсети или по bot_id?
Идемпотентность: оплата прошла, подключение упало — откат?
Логирование в fraud history (DS-959)?