Начисление покупок пользователю
Реализуйте в вашем приложении начисление покупок пользователю, используя информацию от Иксоллы о состоянии транзакции. Вы можете получать информацию следующими способами:
Запрос информации с помощью API
Вы можете получить данные о приобретенных пользователем виртуальных предметах, виртуальной валюте или бандлах из инвентаря игрока на стороне Иксоллы. Чтобы при начислении учитывать как покупки сделанные через Веб-магазин, так и покупки, сделанные другими способами, синхронизируйте данные об инвентаре игрока на стороне приложения и на стороне Иксоллы.
Методы API для работы с инвентарем включают в себя следующие группы:
- Клиентские методы:
Базовая HTTP-аутентификация
Запрос должен содержать заголовок Authorization: Basic <your_authorization_basic_key>
, где <your_authorization_basic_key>
— пара ID продавца:ключ API, закодированная по стандарту Base64. Значения параметров вы можете найти в Личном кабинете:
- ID продавца указан:
- В разделе Настройки проекта > Вебхуки.
- Разделе Настройки компании > Компания.
- Aдресной строке браузера на любой странице Личного кабинета. URL-адрес имеет вид
https://publisher.xsolla.com/ID продавца/раздел Личного кабинета
.
- Ключ API отображается в Личном кабинете только при создании и должен храниться на вашей стороне. Создать ключ можно в разделах:
- Настройки компании > Ключи API;
- Настройки проекта > Ключи API.
Подробная информация о работе с ключами API приведена в справочнике API.
Основные рекомендации:
- Сохраните созданный ключ API на вашей стороне. Вы можете посмотреть ключ API в Личном кабинете только один раз при его создании.
- Никому не сообщайте ваш ключ API, так как он дает доступ к управлению аккаунтом и проектами в Личном кабинете.
- Ключ API должен храниться на вашем сервере и никогда — в бинарных файлах или на фронтенде.
Серверная OAuth 2.0-аутентификация
Запрос должен содержать заголовок Authorization: Bearer <user_JWT>
, где <user_JWT>
— JWT пользователя.
Чтобы получить JWT пользователя:
- Создайте серверный OAuth 2.0-клиент:
- Откройте ваш проект в Личном кабинете. Перейдите в раздел Авторизация > ваш вариант авторизации и нажмите Настроить.
- В блоке Безопасность нажмите OAuth 2.0 аутентификация.
- Нажмите Добавить OAuth 2.0 и укажите:
- Название клиента.
- URI переадресации OAuth 2.0. Обязательное поле.
- Тип аутентификации — серверный.
- ID проекта.
- Нажмите Подключить. Сформированные ID клиента и секретный ключ понадобятся вам для дальнейшей интеграции.
- Получите серверный JWT. Для этого вызовите метод API Generate JWT, передав следующие параметры:
grant_type
— тип JWT. Укажите значениеclient_credentials
.client_secret
— секретный ключ серверного OAuth 2.0-клиента.client_id
— идентификатор серверного OAuth 2.0-клиента.
- Получите JWT пользователя. Для этого вызовите метод API Auth by custom ID. Запрос должен содержать заголовок
X-Server-Authorization: <server_JWT>
, где<server_JWT>
— серверный JWT, полученный на шаге 2.
Получение информации с помощью вебхуков
- Настройте параметры для получения вебхуков:
- Откройте ваш проект в Личном кабинете.
- Нажмите Настройки проекта в боковом меню.
- Перейдите на вкладку Вебхуки.
- Установите переключатель Вебхуки в положение Вкл.
- В поле URL вебхука укажите URL-адрес, на который вы хотите получать вебхуки.
- Секретный ключ проекта для подписи вебхуков генерируется по умолчанию. Если вы хотите изменить его, нажмите значок обновления.
- Нажмите Сохранить настройки.
- В приложении реализуйте обработку следующих типов вебхуков:
- Для начисления пользователю виртуальных товаров, валюты, пакетов игровой валюты и бандлов:
- Для отмены покупки:
Чтобы подтвердить получение вебхука, ваш сервер должен вернуть:
- 204 HTTP-код без тела сообщения в случае успешного ответа.
- 400 HTTP-код с описанием проблемы, если указанный пользователь не был найден или если передана недействительная подпись.
Вы можете протестировать отправку вебхуков Успешный платеж и Возврат платежа в Личном кабинете в разделе Настройки проекта > Вебхуки > Магазин.
При отсутствии реальных значений допускается ввод произвольных значений.
Также протестировать отправку вебхуков можно при проверке процесса оплаты в тестовом или боевом окружении. Протестировать вебхук Возврат платежа можно только в боевом окружении.
Следующие шаги
Полезные ссылки
Была ли статья полезна?
Оценить страницу
В другой раз
Спасибо за обратную связь!
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.