ОбязательноStripe

Платёжные события

Повторный или запоздалый вебхук не должен повторять списание и ломать состояние заказа.

Проверено Изменено

Плохо

Каждый payment_intent.succeeded повторно выдаёт покупку.

Хорошо

event_id сохранён.
Переход состояния проверен. Повтор безопасен.

Почему это важно

Доставка события и бизнес-операция не образуют общую сетевую транзакцию.

Когда применять

При неоднозначности уточняйте актуальное состояние у провайдера. Сохранение event_id и изменение локального состояния связываются транзакционно. Разные event_id тоже могут описывать один объект и тип события: выдачу покупки дополнительно защищает уникальность бизнес-операции по payment_id.

Кто что делает

Человек

Определяет допустимые переходы статусов, отмены и возвраты.

AI-агент

Реализует серверную обработку событий и проверяет дубликат, ошибку и сверку в тестовом окружении.

Контроль результата:

  • Отправьте одно событие дважды и поменяйте порядок событий.

Как проверить у себя

  • Отправьте одно событие дважды и поменяйте порядок событий.
ПервоисточникиИстория изменений на GitHub

Дата проверки отражает содержательную сверку. Синхронизация сайта не обновляет её автоматически.