Все требования
FR-022MVPНадёжностьТребование источникаПоказано в приложении
Идемпотентность платежей, команд и событий
Повтор одной логической операции возвращает прежний результат и не создаёт второй финансовый эффект, вторую бронь или вторую команду.
Исходный смысл и ценность
Идемпотентность платежей, команд и событий. Повторы не создают второй финансовый эффект или команду.
Защищает деньги и оборудование от повторных действий пользователя и сети.
Акторы и предусловия
СистемаПлатёжный провайдерCSMS
- Есть ключ идемпотентности
- Событие имеет стабильный внешний ID
Основной поток
- 1Система получает запрос или событие.
- 2Проверяет ключ идемпотентности и предыдущий результат.
- 3При повторе возвращает существующий результат.
- 4При новом событии выполняет операцию один раз и сохраняет след.
Альтернативные потоки
- Тот же ключ с другими параметрами — конфликт и безопасная ошибка.
- При неизвестном исходе повтор не создаётся автоматически.
- Поздний webhook — сопоставляется, при конфликте создаётся сверка.
Ключевая проверка
Повторы не создают второй финансовый эффект или команду.
Статус реализации: Кнопка повтора webhook в админке не создаёт новых проводок; финализация повторно не списывает.