Перейти к основному содержимому
Машинный перевод

Эта страница использует машинный перевод. При любых несоответствиях обращайтесь к английской документации.

Колбэки

Общая информация

  • Представляет собой HTTP POST запрос в систему клиента на URL, настроенный в личном кабинете
  • Данные в теле запроса и ответа доступны в формате JSON
  • Запрос содержит заголовки:
    • Content-Type: application/json
    • User-Agent: информация о вызывающей системе
  • Даты передаются в UTC в формате ISO 8601. Например: 2024-07-02T12:50:30Z

Требования к URL колбэка

  1. Использовать защищенный протокол HTTPS
  2. Использовать доменные имена, а не IP-адреса

Аутентификация

Аутентификация для колбэков выполняется путем отправки заголовков в запросе, аналогично заголовкам для авторизации API-запросов (см. раздел Авторизация).

Проверка колбэка

Чтобы избежать мошенничества, система клиента должна проверить указанные значения заголовков колбэка следующим образом:

  1. Разница между текущим временем сервера и значением заголовка X-Processing-Timestamp не превышает значение заголовка X-Processing-RecvWindow
  2. Значение заголовка X-Processing-Key совпадает со значением активного публичного ключа доступа к API клиента
  3. Значение заголовка X-Processing-Signature совпадает с подписью данных запроса секретным ключом

Обработка колбэков

Успешный ответ

Если запрос колбэка успешен, система клиента должна ответить HTTP-кодом 200 OK.

Идемпотентность

Если после успешного ответа на запрос колбэка поступает аналогичный запрос снова, необходимо сгенерировать такой же ответ, как и для предыдущего.

Запросы считаются аналогичными, если они имеют идентичные значения следующих параметров в теле запроса:

  • type - Тип транзакции
  • id - Идентификатор транзакции в системе процессинга
  • status - Статус транзакции

Уникальность транзакции

Чтобы определить, относятся ли несколько колбэков к одной транзакции или к разным, используйте комбинацию параметров type и id из корневого элемента в JSON колбэка. Эта комбинация уникальна для всех транзакций.

Политика повторных попыток

Коды без повтора

Колбэк не будет повторяться при получении ответа от системы клиента со следующими HTTP-кодами:

  • 1xx
  • 3xx
  • 4xx

Коды с повтором

В случае ответа с HTTP-кодом 5xx, колбэк остается в очереди отправки и попытки отправки продолжаются согласно политике экспоненциальной задержки.

Формула расчета задержки:

60 секунд + {количество повторных попыток}^4

Максимальное количество повторных попыток: 10

Интервалы повторов

ПопыткаИнтервалОбщее время
161 сек61 сек
276 сек137 сек
3141 сек278 сек
4361 сек594 сек
5685 сек1,279 сек
61,356 сек2,635 сек
72,461 сек5,096 сек
84,156 сек9,252 сек
96,621 сек15,873 сек
1010,060 сек25,933 сек (~7.2 часа)