Идемпотентные запросы
Для предотвращения выполнения некоторых транзакций дважды Forte E-commerce API поддерживает идемпотентные запросы. Это означает, что если вы пошлете несколько запросов на осуществление транзакции, то только первый полученный запрос будет обработан.
Чтобы осуществить идемпотентный запрос, добавьте в HTTP запрос заголовок RequestID. Все запросы с одним и тем же RequestID будут рассмотрены как попытки проведения одной и той же транзакции. Важно использовать уникальные значения в RequestID. Например, это может быть UUID. Forte E-commerce хранит полученные RequestID в течение 24 часов.
Если будет прислан второй запрос с тем же RequestID и первый запрос был обработан, то Forte E-commerce вернет тот же самый ответ. При этом допускается, что какая-то информация в ответе может быть обновлена. Например, статус транзакции оплата.
Info
Данная логика работает только для запросов host-to-host, т.е. для прямых запросов на карточные транзакции и транзакции с использованием альтернативных способов оплаты.
Warning
Один RequestID может использоваться только для повторной отправки одного и того же запроса на один и тот же endpoint.
Не используйте один и тот же RequestID для разных запросов, даже если они относятся к одному заказу. Например, нельзя использовать один RequestID при создании платежа и при создании возврата для этого платежа.
Для каждого нового запроса необходимо генерировать новый уникальный RequestID.