Начисление покупок пользователю

Реализуйте в вашем приложении начисление покупок пользователю, используя информацию от Xsolla о состоянии транзакции. Вы можете получать информацию следующими способами:

Запрос информации с помощью API

Вы можете получить данные о приобретенных пользователем виртуальных предметах, виртуальной валюте или бандлах из инвентаря игрока на стороне Xsolla. Чтобы при начислении учитывать как покупки сделанные через Web Shop, так и покупки, сделанные другими способами, синхронизируйте данные об инвентаре игрока на стороне приложения и на стороне Xsolla.

Методы API для работы с инвентарем включают в себя следующие группы:

Примечание
Серверные методы используют базовую HTTP-аутентификацию.

Примечание
Клиентские методы используют серверную OAuth 2.0-аутентификацию.

Базовая 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 пользователя:

  1. Создайте серверный OAuth 2.0-клиент:
    1. Откройте ваш проект в Личном кабинете. Перейдите в раздел Авторизация > ваш вариант авторизации и нажмите Настроить.
    2. В блоке Безопасность нажмите OAuth 2.0 аутентификация.
    3. Нажмите Добавить OAuth 2.0 и укажите:
      • Название клиента.
      • URI переадресации OAuth 2.0. Обязательное поле.
      • Тип аутентификации — серверный.
      • ID проекта.
    4. Нажмите Подключить. Сформированные ID клиента и секретный ключ понадобятся вам для дальнейшей интеграции.

  1. Получите серверный JWT. Для этого вызовите метод API Generate JWT, передав следующие параметры:
    • grant_type — тип JWT. Укажите значение client_credentials.
    • client_secret — секретный ключ серверного OAuth 2.0-клиента.
    • client_id — ID серверного OAuth 2.0-клиента.

Примечание
Срок жизни серверного JWT — 59 минут.

  1. Получите JWT пользователя. Для этого вызовите метод API Auth by custom ID. Запрос должен содержать заголовок X-Server-Authorization: <server_JWT>, где <server_JWT> — серверный JWT, полученный на шаге 2.

Получение информации с помощью вебхуков

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

  1. В приложении реализуйте обработку следующих типов вебхуков:

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

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

Вы можете протестировать отправку вебхуков Успешный платеж и Возврат платежа в Личном кабинете в разделе Настройки проекта > Вебхуки > Магазин.

При отсутствии реальных значений допускается ввод произвольных значений.

Также протестировать отправку вебхуков можно при проверке процесса оплаты в тестовом или боевом окружении. Протестировать вебхук Возврат платежа можно только в боевом окружении.

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

  1. Реализуйте получение информации о подписках.
  2. Настройте аутентификацию пользователя.

Сценарий интеграции

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

В другой раз

Спасибо за обратную связь!
Последнее обновление: 17 октября 2023

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

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