Настройка продажи товаров
Внутриигровой магазин позволяет монетизировать игры через продажи внутри игры, продавая за реальную или виртуальную валюту следующие типы товаров:
- внутриигровую валюту и пакеты валюты;
- расходуемые предметы;
- нерасходуемые предметы;
- предметы с ограниченным сроком действия.
Товар | Способ продажи |
---|---|
Один товар. | Используйте методы быстрой покупки. |
Продажа товаров в составе корзины. | Передайте уникальный идентификатор пользователя в заголовке в виде числа или строки при вызове API-методов подраздела Catalog из группы методов Virtual items & currency (параметр x-unauthorized-id ). Генерация идентификатора происходит на клиенте, например при помощи библиотеки для генерации идентификатора. |
Для авторизованных пользователей
Чтобы управлять доступом пользователей к вашему приложению и возможностями продуктов Иксолла, необходимо настроить авторизацию. Вы можете это сделать с помощью продукта Авторизация или вашей собственной системы авторизации.
Если вы уже реализовали собственную систему авторизации и хотите использовать только платежный интерфейс Иксоллы, сгенерируйте Pay Station access token и настройте обработку вебхуков на вашем сервере.
Вы можете использовать продукт Авторизация для вашего внутриигрового магазина, если у вас отсутствует своя серверная часть или вы хотите использовать готовое решение, чтобы:
- хранить каталог товаров;
- управлять каталогом товаров;
- управлять ценами и региональными ценами;
- авторизовывать пользователей;
- обрабатывать транзакции.
Аутентификация через продукт Авторизация
Продукт Авторизация поддерживает регистрацию и аутентификацию пользователей по стандартному протоколу OAuth 2.0. Стандартный протокол аутентификации OAuth 2.0 ориентирован на простоту разработки клиентского приложения. OAuth 2.0 позволяет обновлять токен без участия пользователя.
Данные об авторизованных пользователях могут храниться следующими способами:
- На стороне Иксоллы. Для настройки используйте руководство по интеграции продукта Авторизация.
- На стороне PlayFab. Для настройки используйте инструкцию для хранилища PlayFab.
- На вашей стороне. Для настройки используйте инструкцию для собственного хранилища.
Аутентификация через Pay Station access token
Сценарий взаимодействия вашего клиента и сервера Иксоллы:
- Ваш клиент отправляет на ваш сервер запрос на аутентификацию.
- Ваш сервер запрашивает токен авторизации, передавая в запросе заголовок с параметрами
project_id/merchant_id
иapi_key
на сервер Иксоллы. - Сервер Иксоллы в ответе возвращает Pay Station access token.
- Ваш сервер передает полученный Pay Station access token вашему клиенту.
- Возвращенный 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>
— пара 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 | integer | ID игры в Иксолле. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта. Обязательный. |
user | object | Объект с информацией о пользователе. |
user.id | object | Объект с данными об ID пользователя в вашей системе авторизации. |
user.id.value | string | ID пользователя. Обязательный. |
user.email | object | Объект с данными о email-адресе пользователя. |
user.email.value | string | Email пользователя. Должен быть валидным в соответствии с протоколом RFC 822. Обязательный. |
user.name | object | Объект с информацией о нике пользователя. Обязательный. |
user.name.value | string | Никнейм пользователя. |
user.steam_id | object | Объект с данными о Steam ID пользователя. |
user.steam_id.value | string | Steam ID пользователя. Обязательный, если приложение публикуется на Steam. |
user.playfab_id | object | Объект с данными о PlayFab ID пользователя. |
user.playfab_id.value | string | PlayFab ID пользователя. Обязательный, если приложение использует сервисы PlayFab для начисления товаров. |
Примеры запросов и ответов приведены в справочнике API.
custom_parameters
, purchase
и т. д.) передавать не следует, они не предназначены для получения авторизационного токена.Время жизни Pay Station access token при работе с внутриигровым магазином и инвентарем — 1 час с момента последнего обращения к API Иксоллы. Чтобы изменить время жизни Pay Station access token, обратитесь к аккаунт-менеджеру проекта.
Реализуйте получение нового Pay Station access token после истечения срока действия. Рекомендуется получать новый токен в фоновом режиме, без необходимости повторного входа пользователя в приложение.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.