Payments / Отслеживание статуса заказа
  На главную

Payments

Отслеживание статуса заказа

Примечание
Используйте в качестве примера реализации тестовые веб-приложения:

Отслеживание статуса заказа требуется, чтобы убедиться, что оплата прошла успешно, и начислить товары пользователю.

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

Примечание

На стороне Xsolla настроено 2 варианта отправки вебхуков при покупке и возврате товаров — информация с данными платежа и транзакции и информация о купленных товарах может приходить отдельно или может быть объединена в один вебхук.

Подробнее о вариантах получения вебхуков

Получение информации в объединенных вебхуках:

Если вы зарегистрировались в Личном кабинете после 22 января 2025 г., вы получаете всю информацию в вебхуках Успешная оплата заказа (order_paid) и Отмена заказа (order_canceled). В этом случае вам не требуется обрабатывать вебхуки Успешный платеж (payment) и Возврат платежа (refund).

Получение информации в отдельных вебхуках:

Если вы зарегистрировались в Личном кабинете до 22 января 2025 г. включительно, вы получаете вебхуки:

Вам необходимо обрабатывать все поступающие вебхуки.

Для перехода к новому варианту с получением объединенных вебхуков обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.

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

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

Примечание
Чтобы принимать реальные платежи, достаточно подписать лицензионный договор и реализовать обработку вебхуков:

Полный список вебхуков и общая информация о работе с ними приведены в документации по вебхукам.

PHP SDK
Используйте готовые классы для обработки вебхуков.

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

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

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

Реализация обработчика вебхуков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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