Внутриигровой магазин / Настройка продажи товаров

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

Существует два решения от Xsolla для монетизации игр — Buy Button (продажи через сайт игры) и Внутриигровой магазин (продажи внутри игры).

Buy Button дает вам возможность продавать за реальную или виртуальную валюту следующие типы товаров:

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

Внутриигровой магазин дает вам возможность продавать за реальную и виртуальную валюту следующие типы товаров:

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

Вы можете продавать товары неавторизованным и авторизованным пользователям.

Настройка продажи товаров для неавторизованных пользователей

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

  • Неавторизованные пользователи не могут использовать систему владения играми.
  • В платежном интерфейсе Иксоллы не будут сохраняться платежные методы и денежные средства пользователя.

ТоварСпособ продажи
Одна копия игры (игровой ключ).Используйте прямую ссылку или виджет.
Несколько копий игры (игровых ключей) или разные игры в составе корзины.Передайте уникальный идентификатор пользователя и email-адрес. Email-адрес и другая дополнительная информация (имя пользователя и код страны в формате ISO 3166-1 alpha-2) передаются в заголовке в кодировке Base64 для параметра x-user при вызове метода для получения токена оплаты.
Один товар.Используйте методы быстрой покупки.
Продажа товаров в составе корзины.Передайте уникальный идентификатор пользователя в заголовке в виде числа или строки при вызове методов In-Game Store & Buy Button API (параметр x-unauthorized-id). Генерация идентификатора происходит на клиенте, например при помощи библиотеки для генерации идентификатора.

Настройка продажи для авторизованных пользователей

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

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

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

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

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

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

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

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

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

Примечание
Обычно используется для интеграции методов API продуктов In-Game Store и Buy Button.

Сценарий взаимодействия вашего клиента и сервера Иксоллы:

  1. Ваш клиент отправляет на ваш сервер запрос на аутентификацию.
  2. Ваш сервер запрашивает токен авторизации, передавая в запросе заголовок с параметрами project_id/merchant_id и api_key на сервер Иксоллы.
  3. Сервер Иксоллы в ответе возвращает 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 запроса.

API Иксоллы использует базовую HTTP-аутентификацию. Запрос должен содержать заголовок Authorization:Basic <your_authorization_basic_key>, где <your_authorization_basic_key> — пара merchant_id:api_key, закодированная по стандарту Base64. Значения параметров вы можете найти в Личном кабинете:

  • merchant_id указан в разделе Настройки проекта > Вебхуки > ID продавца.
  • api_key указан в разделе Настройки компании > Ключ API.

HTTP-запрос:

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

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

ПараметрТипОписание
settings
objectОбъект, содержащий настройки проекта.
settings.project_id
integerID игры в Иксолле. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта. Обязательный.
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 час с момента последнего обращения к API Иксоллы. Чтобы изменить время жизни Pay Station access token, обратитесь к аккаунт-менеджеру проекта.

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

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

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

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