Docs

Дедуплікація подій і замовлень

Надійне прийняття й одноразова видача.

Повтори й ручна доставка можуть повторити коректну подію. X-Event-Id — логічна ідентичність події, X-Delivery-Id стосується доставки на endpoint. Дедуплікуйте подію й бізнес-замовлення. Номера спроби чи delivery ID недостатньо.

Після перевірки початкового підпису й авторизованої PAID-відповіді зі звіркою замовлення/проєкту/режиму/валюти/ціни виконайте одну транзакцію БД: вставте унікальний (merchant_scope, eventId), позначте пов’язане замовлення оплаченим під унікальним обмеженням замовлення/сесії й додайте видачу до надійного outbox. Прийнята подія чи оплачене замовлення не створюють повторної видачі. Спершу commit, потім невеликий 2xx. Тимчасовий збій читання/зберігання має допускати повтор.

Не можна видавати замовлення за сесію й повторно за дочірній рахунок. Test-події, treasury-поповнення, тести зв’язку, redirects і записи перевірки не оплачують Live-замовлення.