Настройка вебхуков

Вебхук — это программный код, который состоит из параметров и соответствующих им значений. При наступлении определенного события отправляется HTTP-запрос к вашему приложению, в котором передаются обновленные значения параметров. Чаще всего отправляется POST-запрос в JSON-формате.

Примеры событий: взаимодействие пользователя с каталогом товаров, оплата или отмена заказа.

Список вебхуков

Если вы хотите получать уведомления о событиях, реализуйте обработку вебхуков:

  • Успешный платеж — отправляется, когда заказ оплачен, и содержит информацию о данных платежа и детали транзакции.
  • Успешная оплата заказа — отправляется, когда был получен ответ об успешной обработке вебхука Успешный платеж. Содержит информацию о купленных товарах и ID транзакции.
  • Возврат платежа — отправляется, когда заказ был отменен, и содержит информацию о данных отмененного платежа и детали транзакции.
  • Отмена заказа — отправляется, когда был получен ответ об успешной обработке вебхука Возврат платежа. Содержит информацию о купленных товарах и ID отмененной транзакции.
  • Проверка существования пользователя — отправляется на разных этапах оплаты. Содержит информацию о пользователе, который покупает игровой ключ.

Если вы используете персонализацию каталога товаров, реализованную на стороне вашего приложения, настройте обработку вебхука Персонализация каталога на стороне партнера.

Если вы используете внешний ID (ID транзакции в вашей системе) и хотите связать его с ID транзакции на стороне Xsolla или хотите передать дополнительные параметры пользователя, настройте обработку вебхука Связывание ID транзакций.

Настройка вебхуков в Личном кабинете

Чтобы настроить вебхуки:

  1. Откройте проект в Личном кабинете.
  2. Нажмите Настройки проекта в боковом меню и перейдите на вкладку Вебхуки.
  3. Установите переключатель Вебхуки в положение Вкл.
  4. Укажите URL-адрес, на который вы хотите получать вебхуки, в формате https://example.com.
  5. Секретный ключ проекта для подписи вебхуков генерируется по умолчанию. Если вы хотите изменить его, нажмите значок обновления.
  6. Нажмите Сохранить настройки.
Примечание
Для тестирования вебхуков вы можете выбрать любой специализированный сайт, например webhook.site.

Тестирование вебхуков в Личном кабинете

Если вы используете внешний ID (ID транзакции в вашей системе) и хотите связать его с ID транзакции на стороне Xsolla или хотите передать дополнительные параметры пользователя, настройте обработку вебхука Связывание ID транзакций.

Если вебхуки настроены успешно, ниже блока настройки вебхуков отобразится блок тестирования вебхуков.

Обработчик вебхуков

Обработчик вебхуков — это программный код, который позволяет принимать поступающие вебхуки на указанный URL-адрес, генерировать подпись и отправлять ответ на вебхук на сервер Xsolla.

Генерация подписи

При получении вебхука необходимо обеспечить безопасность передачи данных. Для этого из данных вебхука необходимо сгенерировать подпись и проверить, что она совпадает с подписью, отправленной в заголовке HTTP-запроса.

Чтобы сгенерировать подпись:

  1. Осуществите конкатенацию JSON из тела запроса и секретного ключа проекта.
  2. Примените SHA-1 криптографическую хэш-функцию к получившейся на первом шаге строке.

Отправка ответов на вебхук

Чтобы подтвердить получение вебхука, ваш сервер должен вернуть:

  • 204 HTTP-код без тела сообщения в случае успешного ответа.
  • 400 HTTP-код с описанием проблемы, если указанный пользователь не был найден или если передана недействительная подпись.

Ваш обработчик вебхуков также может возвращать код 5xx при временных проблемах на вашем сервере.

Если на вебхуки Успешная оплата заказа и Отмена заказа не был получен ответ или получен ответ с кодом 5xx, осуществляется повторная отправка вебхуков по следующему расписанию:

  • 2 попытки с интервалом 5 минут;
  • 7 попыток с интервалом 15 минут;
  • 10 попыток с интервалом 60 минут.

Максимально осуществляется 20 попыток отправки вебхуков в течение 12 часов с момента первой попытки.

Если на вебхук Успешный платеж не был получен ответ или получен ответ с кодом 5xx, также осуществляется повторная отправка вебхуков через увеличивающийся временной интервал. Максимально осуществляется 12 попыток в течение 12 часов.

Если на вебхук Проверка существования пользователя не был получен ответ или получен ответ с кодом 400 или 5xx, повторная отправка вебхука Проверка существования пользователя не осуществляется.

Пользователь увидит ошибку, вебхуки Успешный платеж и Успешная оплата заказа отправлены не будут.

Примечание
Полный список и механизм работы вебхуков с примерами обработки подробно описан в документации по вебхукам.
Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Оценить страницу
Оценить страницу
Что может сделать страницу еще лучше?

В другой раз

Спасибо за обратную связь!

Продолжить чтение

Следующие шаги

Настройка аналитики
Последнее обновление: 22 января 2024

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!