Buy Button

Buy Button это комплексное решение для продажи цифровых товаров.

Note: Если вы уже используете продукты Иксоллы и хотите подключить Buy Button, пожалуйста, обратитесь к аккаунт-менеджеру проекта.

Как это работает

Шаг 1

Шаг 2

Шаг 3

Сценарий пользователя

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

Чтобы подключить продукт Buy Button:

  1. Зарегистрируйтесь в Личном кабинете Иксолла.
  2. Создайте проект.
  3. Выберите способ монетизации.
  4. Выберите вариант продажи товаров.
  5. Настройте оповещения.

Note: Данное руководство включает в себя минимальный набор настроек для быстрого запуска. Если у вас возникли вопросы по подключению, пожалуйста, обратитесь к аккаунт-менеджеру проекта.

Создание проекта

  1. Перейдите в раздел Проекты и нажмите кнопку Создать проект.
  2. В настройках проекта:
    1. Укажите URL оповещений.
    2. Сгенерируйте секретный ключ проекта для подписи оповещений.

Способы монетизации

Виртуальная валюта

Виртуальная валюта — решение для продажи внутриигровой валюты. Основные возможности:

  • Продажа пакетов внутриигровой валюты
  • Поддержка акций
  • Баланс пользователя во внутриигровой валюте
  • Автоматическое определение валюты и страны пользователя

Настройка модуля

  1. Перейдите в настройки модуля Виртуальная валюта и задайте следующие параметры:
    • Название.
    • Стоимость за единицу.
    • Изображение.
  2. Создайте необходимое количество пакетов виртуальной валюты и каждому задайте следующие параметры:
    • Цена.
    • Изображение.
  3. Включите отображение пакетов в магазине.

Рецепты

Изучите наши рецепты, чтобы попробовать расширенные возможности решения Виртуальная валюта:

Виртуальные предметы

Виртуальные предметы — решение для продажи внутриигрового контента и ресурсов за реальную или виртуальную валюту. Основные возможности:

  • цены в реальной и виртуальной валюте;
  • каталог любого размера: от одноуровневого до многоуровневого;
  • управление доступом к контенту (возможность покупки предмета только по достижении пользователем определенного уровня и т.д.);
  • обычная и расширенная карточки предметов;
  • поддержка акций;
  • баланс пользователя во внутриигровой валюте;
  • автоматическое определение валюты и страны пользователя.

Настройка модуля

  1. Перейдите в настройки модуля Виртуальные предметы.
  2. Наполните каталог магазина:
    1. Создайте группы предметов.
    2. Создайте предметы, для каждого необходимо указать:
      • одну или несколько групп, которым должен принадлежать предмет;
      • артикул;
      • название и краткое описание;
      • стоимость в реальной и виртуальной валюте;
      • изображение.
  3. Включите отображение групп в магазине.

Рецепты

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

Игровые ключи

Решение Игровые ключи позволяет партнерам продавать ключи и дистрибутивы с сайта игры несколькими способами: по прямой ссылке, через виджет или через интерфейс магазина, интегрированный через методы API. Основные возможности:

  • Выбор DRM, на которых будут распространяться ключи и дистрибутивы
  • Разные цены для разных DRM
  • Предзаказы

Настройка модуля

Настройка модуля:

  1. Перейдите в настройки модуля Игровые ключи и нажмите кнопку Новый пакет.
  2. Задайте базовые настройки пакета:
    • Артикул — уникальный идентификатор.
    • Название игры.
    • Краткое описание игры.
  3. Выберите DRM и укажите платформы.
  4. Настройте цены для выбранных DRM.
  5. Загрузите ключи для выбранных DRM.

Рецепты

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

Продажа товаров

Продажа товаров возможна по прямой ссылке, через виджет или через интерфейс магазина.

Info: При настройке прямой ссылки для продажи игровых ключей значение параметра YOUR-ITEM-TYPE зависит от того, какие методы работы с Магазином используются в вашем проекте. Если переключатель Перейти на новые методы работы с магазином установлен в положение Вкл, необходимо передавать значение параметра для новых методов.

Для открытия платежного интерфейса используется ссылка:

https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}

Добавьте в ссылку следующие данные:

  • YOUR-ITEM-TYPE — тип товара:
    • игра — digital_content (для проекта со старыми методами работы) или unit (для проекта с новыми методами работы)
    • физический товар — physical_good
    • виртуальный товар — virtual_item
    • виртуальная валюта — virtual_currency
    • пакет виртуальной валюты или бандл — bundle
  • YOUR-PROJECT-ID — идентификатор вашего проекта в Личном кабинете (ваш проект > Настройки проекта > Общие настройки > ID проекта)
  • YOUR-ITEM-SKU — артикул товара

Вы также можете передавать в ссылке дополнительные параметры:

  • Внешний вид платежного интерфейса: тема (темная — dark или светлая — default), размер и другие. Укажите в URL ссылки параметр ui_settings и в качестве значения передайте JSON-объект settings.ui в кодировке Base64. Пример URL с настройками UI:

https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}&ui_settings=ewoJCQkic2l6ZSI6ICJzbWFsbCIsCgkJCSJ0aGVtZSI6ICJkYXJrIgoJCX0=

  • Токен для передачи информации о пользователе. Используется только при продаже товаров для авторизованных пользователей и обязателен для виртуальных товаров и виртуальной валюты. Формируется в зависимости от типа аутентификации. Пример URL с токеном:

https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOUR_PROJECT_ID}&sku={YOUR_ITEM_SKU}&xsolla_login_token={ACCESS_TOKEN}

  • Параметр mode=sandbox для тестирования оплаты. Вы можете использовать тестовые банковские карты для проведения платежей. Пример URL для тестирования:

https://store.xsolla.com/pages/buy.php?type={YOUR-ITEM-TYPE}&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}&mode=sandbox

Через виджет

Виджет — это скрипт, который можно встроить на ваш сайт для продажи товаров. Примеры работы виджета можно посмотреть на демостранице.

Info: При настройке прямой ссылки для продажи игровых ключей значение параметра YOUR-ITEM-TYPE зависит от того, какие методы работы с Магазином используются в вашем проекте. Если переключатель Перейти на новые методы работы с магазином установлен в положение Вкл, необходимо передавать значение параметра для новых методов.

Код для вставки виджета:

<script>
    var options = {
        project_id: "YOUR-PROJECT-ID",
        item_type: "YOUR-ITEM-TYPE",
        sku: "YOUR-ITEM-SKU",
        user: "ACCESS_TOKEN",
        widget_ui: {
            target_element: '#widget-example-element'
        }
    };
    var s = document.createElement('script');
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://cdn.xsolla.net/embed/buy-button/3.1.2/widget.min.js";
        s.addEventListener('load', function (e) {
          var widgetInstance = XBuyButtonWidget.create(options);
          }, false);
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(s);
</script>

Добавьте в ссылку следующие данные:

  • YOUR-PROJECT-ID — идентификатор вашего проекта в Личном кабинете (ваш проект > Настройки проекта > Общие настройки > ID проекта)
  • YOUR-ITEM-TYPE — тип товара:
    • игра — digital_content (для проекта со старыми методами работы) или unit (для проекта с новыми методами работы)
    • физический товар — physical_good
    • виртуальный товар — virtual_item
    • виртуальная валюта — virtual_currency
    • пакет виртуальной валюты или бандл — bundle
  • YOUR-ITEM-SKU — артикул товара
  • ACCESS_TOKEN —токен для передачи информации о пользователе. Используется только при продаже товаров для авторизованных пользователей и обязателен для виртуальных товаров и виртуальной валюты. Формируется в зависимости от типа аутентификации.

Дополнительную информацию по настройке виджета можно найти на GitHub.

Через интерфейс магазина

Для продажи игровых ключей, виртуальных товаров и виртуальной валюты через интерфейс магазина можно реализовать отдельное веб-приложение или встроить его в игру. Для получения списка товаров и работы с ними необходимо использовать Store API либо построить свой магазин на основе демоверсии.

На основе Store API

Для продажи товаров вы можете построить клиентскую часть магазина, интегрируя методы Store API:
  1. Получение списка виртуальных предметов, пакетов виртуальной валюты и игр.
  2. Покупка товаров:

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

Note: При продаже игры через методы Store API необходимо реализовать на клиенте выбор конкретной DRM. В качестве SKU необходимо передавать значение параметра items.unit_items.sku из запроса на получение списка игр.

На основе демоверсии

Для просмотра возможностей API реализована демоверсия магазина. Ее код размещен на GitHub. Вы можете взять его за основу для построения своей версии.

Настройка аутентификации

Покупки в магазине могут осуществлять как авторизованные, так и неавторизованные пользователи.

Неавторизованные пользователи

Без авторизации пользователя можно продавать только игры и физические товары по следующим правилам: 
  • Для продажи одной копии игры необходимо использовать прямую ссылку или виджет.
  • Для продажи нескольких копий игры в составе корзины необходимо передавать уникальный идентификатор пользователя и email-адрес.
  • Для продажи одного физического товара необходимо использовать методы быстрой покупки без дополнительных параметров.
  • Для продажи нескольких физических товаров в составе корзины необходимо передавать уникальный идентификатор пользователя.

Идентификатор передается в заголовке в виде числа или строки при вызове методов Store API (параметр x-unauthorized-id). Генерация идентификатора происходит на клиенте, например, при помощи библиотеки для генерации идентификатора.

Email-адрес и другая дополнительная информация (имя пользователя и код страны в формате ISO 3166-1 alpha-2) передаются в заголовке в кодировке Base64 для параметра x-user при вызове метода для получения токена оплаты.

Пример:

{
 "name": "John Smith" 
 "email": "test@test.com" 
 "country": "US" 
}

Данные также могут передаваться в body или query в виде объекта.

Пример:

"user": {
 "name": "John Smith" 
 "email": "test@test.com" 
 "country": "US"
}

Авторизованные пользователи

Для авторизации пользователей возможны следующие варианты аутентификации:

  1. Если у вас подключена Авторизация Иксолла, аутентификация запросов выполняется через Xsolla Login JWT.
  2. Если у вас настроена своя система авторизации, для аутентификации запросов используется Pay Station Access Token.

Настройка аутентификации через Авторизацию Иксолла

  1. Настройте проект в Личном кабинете, следуя инструкции.
  2. Реализуйте вызов методов авторизации: с помощью JSON Web Token или по протоколу OAuth 2.0.

Если данные пользователей хранятся на стороне Иксоллы, реализуйте методы:

Если данные пользователей хранятся на стороне PlayFab, используйте рецепт для хранилища PlayFab.

Если данные пользователей хранятся на вашей стороне, используйте рецепт для собственного хранилища.

Настройка аутентификации через Pay Station Access Token

Алгоритм аутентификации:

  1. Ваш клиент отправляет запрос на аутентификацию на ваш сервер.
  2. Ваш сервер передает Merchant ID и API key на сервер Иксоллы и запрашивает access_token.
  3. Сервер Иксоллы передает access_token на ваш сервер.
  4. Ваш сервер передает access_token вашему клиенту.

Возвращенный access_token используется как авторизационный токен для аутентификации запросов, отправляемых клиентом игры.

Настройка оповещений

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

Чтобы подтвердить получение оповещения, ваш сервер должен вернуть 204 HTTP код без тела сообщения. Механизм работы оповещений с примерами обработки подробно описан в справочнике API.

Note: После реализации оповещений откройте настройки продукта Платежи и установите переключатель Чекаут в положение Вкл.

Способы продвижения

Купоны

Вы можете создавать кампании купонов, загружать или генерировать коды купонов в Личном кабинете. При погашении купона пользователь получает виртуальную валюту, виртуальные предметы или триальный период по подписке. Доступна настройка количества погашений купона и срока его действия.

Посмотреть рецепт

Лейблы

Вы можете прикреплять лейблы (например, "Best Value") для привлечения внимания к виртуальным предметам или пакетам виртуальной валюты.

Посмотреть рецепт

Бонусы

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

  • Виртуальную валюту
  • Триальный период подписки
  • Виртуальный предмет(ы)
  • Игру(ы)
  • Физические предметы (мерчендайз)

Посмотреть рецепт

Рецепты

Изучите наши рецепты, чтобы попробовать расширенные возможности продукта Buy Button:

Туториалы