Перейти к содержанию
Innovialabs

Мошенничество в интернет-магазине: фейковые заказы и как их остановить

Практика3 мин

Коротко

Большинство атак на магазин — это повторяющиеся паттерны, поэтому их останавливают лимиты частоты, velocity-правила, подтверждение телефона и очередь ручной проверки для подозрительных заказов.

Как остановить фейковые заказы

Мошенничество в интернет-магазине почти всегда оставляет паттерн: много попыток за короткое время, одинаковые устройства, странные адреса, свежие аккаунты. Защита строится слоями:

  • Rate limits на чекаут, логин и применение промокодов.
  • Velocity-правила — ограничения по количеству действий на карту, телефон, IP, устройство и адрес.
  • Подтверждение телефона через SMS или Telegram для рискованных заказов.
  • Очередь ручной проверки для заказов, которые набрали подозрительный скоринг.
  • 3-D Secure и антифрод платёжного провайдера — включайте их, а не дублируйте.

Цель — не поймать всех, а сделать атаку дорогой и медленной, не мешая честным покупателям.

Типовые схемы мошенничества

СхемаКак выглядитЧем вредит
Card testingСотни мелких оплат с разными номерами картКомиссии, чарджбэки, блокировка мерчанта
Бот-заказыМассовые заказы на дефицитный товарОстатки уходят перекупщикам
Отказ от наложенного платежаЗаказы с оплатой при получении, которые никто не забираетРасходы на доставку и возврат
Злоупотребление промокодамиНовые аккаунты ради скидки «на первый заказ»Скидки уходят не тем клиентам
Account takeoverВход в чужой аккаунт по утёкшему паролюПокупки бонусами и сохранённой картой

Card testing заслуживает отдельного внимания: мошенник проверяет украденные карты на маленьких суммах. Признаки — всплеск неуспешных авторизаций, одинаковый товар, повторяющиеся имена и email вида случайных строк.

Практичные меры защиты

Лимиты и velocity-правила

Считайте события в скользящем окне и блокируйте или усложняйте шаг при превышении:

  • не больше N попыток оплаты с одного IP или устройства за 10 минут;
  • не больше N разных карт на один аккаунт за сутки;
  • не больше N заказов с оплатой при получении на один телефон без выкупа;
  • один «первый заказ» на телефон, а не на email.

Удобно хранить счётчики в Redis с TTL:

key = f"pay_attempts:{ip}"
count = redis.incr(key)
if count == 1:
    redis.expire(key, 600)
if count > 5:
    require_captcha_or_block()

Подтверждение телефона

Для оплаты при получении и для первого заказа подтверждение номера резко снижает долю пустых заказов. Привязывайте промокоды и историю выкупа к подтверждённому телефону — его сложнее сменить, чем email.

Скоринг и ручная проверка

Не нужно сразу строить ML. Начните с простого балла риска:

  • новый аккаунт — плюс баллы;
  • адрес доставки не совпадает со страной карты — плюс;
  • несколько неудачных оплат перед успешной — плюс;
  • заказ дорогого товара в большом количестве — плюс.

Заказы выше порога попадают в очередь ручной проверки: оператор звонит клиенту или запрашивает подтверждение. Важно, чтобы у очереди был SLA, иначе честные клиенты ждут.

Защита аккаунтов

  • Ограничение попыток входа и уведомления о входе с нового устройства.
  • Повторный ввод пароля или код при смене адреса, телефона и при оплате бонусами.
  • Проверка паролей по базам утечек при регистрации.

Частые ошибки

  • Блокировать по одному признаку. IP из другой страны может быть VPN честного клиента. Комбинируйте сигналы.
  • Не смотреть на неуспешные оплаты. Card testing виден именно в отказах, а не в успешных заказах.
  • Хранить правила в коде. Пороги приходится часто менять — выносите их в конфиг или админку.
  • Не логировать решения. Без логов нельзя понять, почему заказ отклонили, и разобрать жалобу.
  • Наказывать всех. Капча и SMS на каждом шаге снижают конверсию; включайте трение только при риске.

Как выбрать уровень защиты

Начните с базового набора: лимиты на чекаут и логин, 3-D Secure, подтверждение телефона для оплаты при получении. Добавляйте скоринг и ручную проверку, когда видите потери в отчётах по чарджбэкам и невыкупам. Отдельные антифрод-сервисы имеют смысл при большом объёме и международных платежах.

Частые вопросы

Он защищает только этап оплаты. Боты, злоупотребление промокодами, отказы от наложенного платежа и захват аккаунтов провайдер не видит — эти правила нужны на стороне магазина.

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.