Клиенты и прокси могут повторить POST после обрыва соединения; без идемпотентного ключа сервер дважды создаст заказ или спишет средства.
Паттерн: клиент генерирует UUID запроса, сервер сохраняет результат по ключу в транзакции с уникальным ограничением и возвращает тот же ответ при повторе.
- [Idempotent requests — Stripe API](https://stripe.com/docs/api/idempotent_requests) — Как ведут себя повторы с Idempotency-Key.
- [Idempotent method — HTTP semantics (MDN glossary)](https://developer.mozilla.org/en-US/docs/Glossary/Idempotent) — Связь с HTTP-методами.
---
## TTL и очистка
Храните ключи ограниченное время (сутки–неделя) и архивируйте для расследований мошенничества отдельно.
Логируйте конфликты ключа: это сигнал либо бага клиента, либо атаки повтором.
