Отслеживание статуса заказа
Внимание
SDK позволяет отслеживать статус заказа на клиентской части вашего приложения. Однако мы рекомендуем настроить обработчик вебхука Успешный платеж и получать информацию о заказе на серверной части вашего приложения. Это позволит реализовать дополнительную валидацию совершенных покупок.
- отображение статуса заказа в интерфейсе приложения;
- пополнение баланса виртуальной валюты пользователя в результате успешной оплаты;
- начисление купленных предметов пользователю в результате успешной оплаты.
Логика отслеживания заказа включена в следующие методы SDK:
Cart.Purchase— используется для покупки корзины;Cart.PurchaseFreeCart— используется для приобретения бесплатных товаров через корзину;Catalog.Purchase— используется для покупки товара в один клик;Catalog.PurchaseForVirtualCurrency— используется для покупки товара за виртуальную валюту;Catalog.PurchaseFreeItem— используется для приобретения бесплатного товара в один клик.
Для обработки успешной покупки вам достаточно передать в параметре onSuccess функцию, которая вызывается в случае перехода заказа в статус done.
Методы покупки инкапсулируют в себе несколько методов отслеживания статуса заказа. Механизм отличается в зависимости от платформы, для которой собирается приложение:
- Для WebGL-сборок отслеживание осуществляется на основе
postMessageсобытий виджета платежного интерфейса. Если от виджета платежного интерфейса приходит сообщение об изменении статуса заказа изменен наdoneилиcancel, отслеживание прекращается.
- Для сборок для других платформ отслеживание осуществляется с помощью простых HTTP-запросов (short-polling) и запросов по протоколу WebSocket. Отслеживание выполняется по следующему алгоритму:
- Устанавливается веб-сокет-соединение.
- Если в течение 5 минут статус заказа не сменился на
doneилиcancel, веб-сокет-соединение закрывается. Если статус заказа изменен наdoneилиcancel, отслеживание прекращается. - Отслеживание статуса заказа продолжается с помощью short-polling. Раз в 3 секунды отправляется простой HTTP-запрос статуса заказа. Отслеживание прекращается если:
- статус заказа изменился на
doneилиcancel; - в течение 10 минут статус заказа не сменился на
doneилиcancel.
- статус заказа изменился на
Примечание
Если не удалось установить веб-сокет-соединение, статус заказа отслеживается с помощью short-polling.
onSuccess методов покупки.Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Полезные ссылки
Последнее обновление: 28 октября 2025Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.