Отслеживание статуса заказа
Внимание
SDK позволяет отслеживать статус заказа на клиентской части вашего приложения. Однако мы рекомендуем настроить обработчик вебхука Успешный платеж и получать информацию о заказе на серверной части вашего приложения. Это позволит реализовать дополнительную валидацию совершенных покупок.
После совершения покупки в вашем приложении могут выполняться следующие действия:
- отображение статуса заказа в интерфейсе приложения;
- пополнение баланса виртуальной валюты пользователя в результате успешной оплаты;
- начисление купленных предметов пользователю в результате успешной оплаты.
Чтобы реализовать логику этих действий, отслеживайте статус заказа с помощью метода SDK OrderTracker.checkPendingOrder
. Передайте в метод следующие параметры:
accessToken
— авторизационный токен пользователя;orderId
— ID заказа, полученный в результате покупки через корзину, покупки в один клик или покупки за виртуальную валюту;onSuccess
— функция, которая вызывается в случае перехода заказа в статусdone
;onError
— функция, которая вызывается в случае, если сервер Xsolla возвращает ошибку.
Этот метод инкапсулирует в себя несколько методов отслеживания статуса заказа. Отслеживание выполняется по следующему алгоритму:
- Устанавливается веб-сокет-соединение.
- Если в течение 5 минут статус заказа не сменился на
done
илиcancel
, веб-сокет-соединение пересоздается. Если статус заказа изменен наdone
илиcancel
, отслеживание прекращается.
Примечание
Если не удалось установить веб-сокет-соединение, статус заказа отслеживается с помощью short-polling. Раз в 3 секунды отправляется простой HTTP-запрос статуса заказа. Отслеживание прекращается если:
- статус заказа изменился на
done
илиcancel
; - в течение 10 минут статус заказа не сменился на
done
илиcancel
.
XsollaOrders.checkOrder
.Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Полезные ссылки
Последнее обновление: 22 января 2024Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.