У вас endpoint POST /payments с заголовком Idempotency-Key. Как гарантировать, что повторные запросы с тем же ключом не создадут дубль?
Anonymous Quiz
8%
Хранить ключ в памяти PHP-процесса и проверять массивом
9%
Проверять наличие платежа по сумме и пользователю
24%
Делать SELECT + INSERT в одной транзакции без блокировок
60%
Делать атомарный SETNX (или INSERT ... ON CONFLICT DO NOTHING) и возвращать ранее созданный ресурс