Когда платежная форма отказывается принимать карту — проблема не всегда в карте. Stripe активно использует поведенческий антифрод на основе данных браузера и окружения. Мы решили провести технический эксперимент: взять 10 разных браузерных конфигураций и проверить, какие из них проходят оплату, а какие вызывают отклонения или 3DS.
Цель
Понять:
влияет ли spoof fingerprint на прохождение платежа;
как ведёт себя Stripe при headless-браузере;
можно ли добиться успешной транзакции без 3DS при «естественном» поведении;
что на самом деле триггерит Radar.
Что тестировали
Мы собрали 10 конфигураций:
# | Браузер | IP / Proxy | Поведение | Fingerprint |
---|---|---|---|---|
1 | Chrome | Residential | живое | чистый |
2 | Headless UC | VPN DE | auto-fill | spoofed |
3 | Puppeteer | USA DC | клик-бот | дефолтный |
4 | UC + Proxy | Mobile LTE | живое | custom JS |
5 | Chrome | TOR | ручное | оригинал |
... | ... | ... | ... | ... |
Мы варьировали:
navigator.webdriver
spoofed
canvas
,audio
,webgl
реальное поведение (ввод руками) vs. программная симуляция
гео IP и тип прокси (residential / mobile / datacenter)
📋 Методы
Использовали
undetected-chromedriver
+ SeleniumВключили HAR-логирование
Ловили запросы к:
/v1/payment_intents/.../confirm
m.stripe.com/6
r.stripe.com/b
📊 Результаты
Конфигурация | Результат | 3DS | Статус ответа |
---|---|---|---|
1 | Успешно | Нет |
|
2 | Отклонение | — |
|
3 | 3DS Challenge | Да |
|
4 | Успешно | Нет |
|
5 | Отклонение (Radar) | — |
|
... | ... | ... | ... |
Самая "чистая" сессия — живая, без headless, без прокси, с настоящим вводом данных — почти всегда проходила. Headless + spoofed fingerprint срабатывал только с mobile residential IP и "человеческим" поведением.
💡 Выводы
Stripe активно собирает JS-фингерпринты ещё до клика "Pay"
Spoof fingerprint помогает — но только в комбинации с реалистичным поведением
TOR, headless и автофил без задержек почти всегда ведут к отказу
Поведенческий анализ важнее, чем "валидность" карты
Где нашли рабочие подходы
Многие идеи конфигураций, в том числе spoof navigator и JS-паттерны, мы взяли из обсуждений на техническом форуме BFD CASH.
Если вас интересует именно техническая сторона антифрод-систем — BFD стоит внимания.