← Главная

DS-798 — Антифрод для триала

[BACK] Антифрод для триала — блокировка повторной активации триала через обходные пути

JiraDS-798
AssigneeМарат Комаров
MR!2020
Sprint16 (→ Mar 30)
Backendapi-2020.review.chatplace.io
User798@mail.com
Product taskCPD-192
СтатусMR ожидает тестирования
0 / 28
🎯 Цель антифрода: Заблокировать повторную активацию триала через обходные пути (новый аккаунт с той же картой, перенос бота, та же карта+устройство). При этом оплата полного тарифа НЕ должна блокироваться — только триал.
⚠️ 3 проверки антифрода:
1. Карта (Stripe) — card_hash уже использовался для триала в другом аккаунте → блок
2. История владения ботом — бот ранее принадлежал другому аккаунту с триалом → блок
3. Device ID (Amplitude) — дополнительный сигнал (под вопросом)
📊 Ключевые таблицы БД:
ТаблицаНазначениеКлючевые поля
card_fingerprintsХэши привязанных картuser_id, provider, card_hash, user_fingerprint
bot_ownership_historyИстория владения ботамиbot_identifier, platform_label, owner_id
user_fingerprintsDevice ID / fingerprintsuser_id, fingerprint
subscription_logsЛог подписокuser_id, type (1=trial), payment_count

1. Happy Path — Новый юзер получает триал

5 тестов

2. Без ложных срабатываний — Unlimited/Club

4 теста
💡 Ключевой фикс: Купил Unlimited → переключился на Pro → триал должен быть доступен (не ложное срабатывание антифрода).

3. Блокировка по истории владения ботом

4 теста

4. Блокировка по повторному использованию карты (Stripe)

4 теста

5. CloudPayments/Prodamus — карта + устройство

3 теста
⚠️ Для CloudPayments/Prodamus проверяется комбинация карта+устройство (fingerprint), а не только карта. Та же карта с другого устройства → триал РАЗРЕШЁН.

6. Юзер без ботов

2 теста

7. API — hasFingerprint

3 теста

8. Граничные случаи и регрессия

3 теста