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

Внутриигровой магазин

  • Руководство по интеграции

  • Возможности

  • Инструкции

  • Расширения

  • Справочники

  • Вебхуки

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

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

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

    ТоварСпособ продажи
    Один товар.Используйте методы быстрой покупки.
    Продажа товаров в составе корзины.Передайте уникальный идентификатор пользователя в заголовке в виде числа или строки при вызове API-методов подраздела Cattalog из группы методов Virtual items & currency (параметр 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> — пара 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 игры в Иксолле. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта. Обязательный.
    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 после истечения срока действия. Рекомендуется получать новый токен в фоновом режиме, без необходимости повторного входа пользователя в приложение.

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

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

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