In-Game Store / Настройка продажи товаров
  На главную

In-Game Store

Настройка продажи товаров

In-Game Store позволяет монетизировать игры через продажи внутри игры, продавая за реальную или виртуальную валюту следующие типы товаров:

  • внутриигровую валюту и пакеты валюты;
  • расходуемые предметы;
  • нерасходуемые предметы;
  • предметы с ограниченным сроком действия.

ТоварСпособ продажи
Один товар (например, виртуальный предмет или произвольное количество виртуальной валюты)Методы быстрой покупки
Продажа товаров в составе корзиныПередайте уникальный ID пользователя в заголовке в виде числа или строки при вызове методов API подраздела Catalog из группы методов Virtual items & currency (параметр x-unauthorized-id). Генерация ID происходит на клиенте, например при помощи библиотеки для генерации ID.

Для авторизованных пользователей

Чтобы управлять доступом пользователей к вашему приложению и возможностями продуктов Xsolla, необходимо настроить авторизацию. Вы можете это сделать с помощью продукта Login или вашей собственной системы авторизации.

Если вы уже реализовали собственную систему авторизации и хотите использовать только платежный интерфейс Xsolla, сгенерируйте Pay Station access token и настройте обработку вебхуков на вашем сервере.

Вы можете использовать продукт Login для вашего внутриигрового магазина, если у вас отсутствует своя серверная часть или вы хотите использовать готовое решение, чтобы:

  • хранить каталог товаров;
  • управлять каталогом товаров;
  • управлять ценами и региональными ценами;
  • авторизовывать пользователей;
  • обрабатывать транзакции.

Аутентификация через продукт Login

Продукт Login поддерживает регистрацию и аутентификацию пользователей по стандартному протоколу OAuth 2.0. Стандартный протокол аутентификации OAuth 2.0 ориентирован на простоту разработки клиентского приложения. OAuth 2.0 позволяет обновлять токен без участия пользователя.

Данные об авторизованных пользователях могут храниться следующими способами:

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

Аутентификация через Pay Station access token

Примечание
Обычно используется для интеграции методов API продуктов In-Game Store и Buy Button.
Сценарий взаимодействия вашего клиента и сервера Xsolla:
  1. Ваш клиент отправляет на ваш сервер запрос на аутентификацию.
  2. Ваш сервер запрашивает токен авторизации, передавая в запросе заголовок с параметрами project_id/merchant_id и api_key на сервер Xsolla.
  3. Сервер Xsolla в ответе возвращает Pay Station access token.
  4. Ваш сервер передает полученный Pay Station access token вашему клиенту.
  5. Возвращенный Pay Station access token используется как авторизационный токен для аутентификации в API продуктов In-Game Store и Buy Button и построения интерфейса магазина с помощью клиентских методов.

Получение Pay Station access token

В серверной части вашего приложения реализуйте метод для получения Pay Station access token с использованием HTTP POST запроса.

Xsolla 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 должен храниться на вашем сервере и никогда — в бинарных файлах или на фронтенде.

HTTP-запрос:

POST https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token

В теле запроса на получение токена передайте следующие параметры:

ПараметрТипОписание
settings
objectОбъект, содержащий настройки проекта.
settings.project_id
integerID игры в Xsolla. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта. Обязательный.
user
objectОбъект с информацией о пользователе.
user.id
objectОбъект с данными об ID пользователя в вашей системе авторизации.
user.id.value
stringID пользователя. Обязательный.
user.email
objectОбъект с данными о email-адресе пользователя.
user.email.value
stringEmail пользователя. Должен быть валидным в соответствии с протоколом RFC 822. Обязательный.
user.name
objectОбъект с информацией о нике пользователя.Обязательный.
user.name.value
stringНикнейм пользователя.
user.steam_id
objectОбъект с данными о Steam ID пользователя.
user.steam_id.value
stringSteam ID пользователя. Обязательный, если приложение публикуется на Steam.
user.playfab_id
objectОбъект с данными о PlayFab ID пользователя.
user.playfab_id.value
stringPlayFab ID пользователя. Обязательный, если приложение использует сервисы PlayFab для начисления товаров.
Примеры запросов и ответов приведены в справочнике API.
Внимание
В запросе используйте только параметры из списка выше. Другие параметры API метода (custom_parameters, purchase и т. д.) передавать не следует, они не предназначены для получения авторизационного токена.

Время жизни Pay Station access token при работе с внутриигровым магазином и инвентарем — 1 час с момента последнего обращения к Xsolla API. Чтобы изменить время жизни Pay Station access token, обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.

Реализуйте получение нового Pay Station access token после истечения срока действия. Рекомендуется получать новый токен в фоновом режиме, без необходимости повторного входа пользователя в приложение.

Прогресс интеграции
Спасибо за обратную связь!
Последнее обновление: 22 января 2024

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

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