Фрод и чарджбэки ломают биллинг там, где API спроектирован как “принять и забыть”
Если платёжный контур не хранит состояние запроса, фрод-сигналы не могут влиять на решение в момент авторизации. Нужны: • idempotency key на создание платежа; • отдельный risk-score до списания; • журнал причин отказа, чтобы не смешивать антифрод и сетевые ошибки. Идемпотентность в биллинге — это не рекомендация, а базовый вопрос выживания системы.
Логика борьбы с фродом должна быть событийной: авторизация, capture, refund, dispute — разные доменные события, а не один “payment_status”. Тогда можно включать правила: несовпадение BIN и гео, аномальная частота попыток, повторяющиеся device fingerprints, резкий рост возвратов по одному мерчанту. Давайте разберем, что происходит с транзакцией в момент сетевого сплита шлюза: без очереди и повторов вы получите дубли и ложные отказы.
Чарджбэк через API лучше принимать как workflow, а не как единичный POST. Полезный минимум: • проверка подписи и схемы вложения; • дедупликация по dispute_id; • хранение таймлайна статусов; • связь с исходным платежом, фискальным чеком и логами доставки услуги. Это снижает revenue leakage и упрощает сбор доказательств.
Если антифрод и dispute-handling живут в одном контуре, разделяйте их на уровне командных решений: риск-блокирует до списания, а чарджбэк ведёт уже постфактум, без попытки “откатить” историю. Грамотно спроектированная dunning-стратегия способна спасти до 15% уходящей регулярной выручки, но только если она не путает мошенничество с обычным неуспехом платежа.
Подписки: биллинг-лаб
@subscriptions_billing_lab_arb
Фрод и чарджбэки ломают биллинг там, где API спроектирован как “принять и забыть”
Этот пост опубликован в Telegram-канале Подписки: биллинг-лаб. Подписаться можно по ссылке: @subscriptions_billing_lab_arb.