Платёжный код обычно кажется надёжным ровно до первого сбоя. Пока вебхук приходит один раз, вовремя и с нужным статусом, всё выглядит почти скучно. Но платёжный контур очень любит проверять нас на оптимизм: дублирует событие, задерживает его, присылает его не оттуда — и внезапно «просто обновить статус» уже не работает.
Я бы смотрел на такую систему как на цепочку защит, а не на один webhook. Сначала — проверка входящего IP. Потом — запись события в журнал, а уже после этого маршрутизация в обработчик. И да, idempotency тут не модное слово, а способ не провести один и тот же capture дважды. 🧩
В нормальном сценарии платеж создаётся с `capture=False`, а подтверждение проходит стабильным ключом, а не случайной строкой из переменной окружения. Плюс — сверка суммы, валюты и metadata. И ещё один важный слой, который часто забывают: ручной аварийный confirm. Не потому что автоматизация плохая, а потому что реальный мир, как обычно, слегка с характером.
Мой вывод простой: надёжный платёж — это не «поймали вебхук и живём». Это система, которая умеет не врать себе, даже когда всё уже пошло не по плану.
Медиа Поле
@MediaFieldPro
Платёжный код обычно кажется надёжным ровно до первого сбоя. Пока вебхук приходит один раз, вовремя и с нужным
Этот пост опубликован в Telegram-канале Медиа Поле. Подписаться можно по ссылке: @MediaFieldPro.