Summary

  • Частотные атрибуты Stripe Radar исключают платёж, который сейчас проверяется. authorized_charges_per_email_hourly равен нулю для первой попытки с данного адреса за предшествующий час; после успешной авторизации вторая попытка увидит единицу.
  • Если первые две попытки были авторизованы в пределах этого часа, > 1 впервые совпадёт с третьей. При >= 1 это возможно уже на второй. На окончательный результат влияют и другие правила, и решение банка-эмитента.

Что именно помнит фильтр

Частотный контроль обещает понятное действие: слишком много платежей с одного адреса — остановить. Но прежде чем назначать порог, приходится выяснить, где стоит счётчик. Официальное руководство Stripe размещает его позади текущей операции. Правило оценивает платёж по истории, из которой сам проверяемый платёж пока исключён.

В руководстве есть точный пример: authorized_charges_per_email_hourly показывает число ранее успешных авторизаций для адреса электронной почты за последний час. Первая попытка видит ноль. Если она прошла авторизацию, вторая увидит один. После авторизации второй третья увидит два. Тогда условие > 1 впервые может совпасть с третьей попыткой, а >= 1 — со второй. Окно длиной в час движется вместе с моментом проверки: старые авторизации постепенно выпадают.

Даже правильный знак не спасает при неправильном названии счётчика. Stripe отдельно учитывает успешные авторизации, попытки списания, отказы эмитента и блокировки моделей машинного обучения Radar. Серия отказов банка может оставить счётчик авторизаций на нуле. Блокировка, вызванная пользовательским правилом, не превращается из-за этого в блокировку модели. Если команда смотрит на все попытки, а правило настроено на успешные авторизации, спокойная цифра способна скрыть шумный поток.

По действующей документации Stripe стандартные правила проверяют все транзакции; создавать собственные могут владельцы тарифов Radar с этой возможностью. Руководство также описывает приоритет разрешающих, блокирующих и проверочных правил. Разрешение может опередить последующую блокировку. Ноль в одном поле частоты не даёт платёжному поручению иммунитета от прочих проверок и банка-эмитента.

Для магазина цена ошибки двусторонняя. Общий IP-адрес может собрать независимых честных покупателей в один счётчик. Смена адресов электронной почты может разбить историю одного злоумышленника на несколько. Публичные материалы не показывают конфигурацию конкретного магазина и потерянные им продажи. Разобрать конкретный спор помогут действующее выражение правила, значения счётчиков и решения по каждому платежу.

Sources