Магазин

Магазин Иксолла (Xsolla Store) — комплексное решение для внутриигровых покупок, которое предлагает партнерам следующие возможности:

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

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

Шаг 1

Шаг 2

Шаг 3

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

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

Чтобы подключить продукт Магазин:

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

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

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

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

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

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

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

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

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

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

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

Для решения Виртуальная валюта необходимо реализовать обработку следующих типов оповещений:

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

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

Рецепты

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

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

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

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

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

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

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

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

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

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

Рецепты

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

Подписки

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

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

Статусы подписок

Подписка может находиться в одном из следующих статусов:

  • Active. Основной статус подписки. Подписка создается и активируется после первого успешного платежа. Повторные списания средств осуществляются только у активных подписок.

Notice: Подписку нельзя создать вручную, через API. Она создается только автоматически при совершении покупки.

  • Canceled. Подписка отменена. При переходе в статус Canceled подписка перестает действовать немедленно. Возможные причины отмены:
    • Изменился статус подписки через вызов API метода или настройки в Личном кабинете Иксолла.
    • Пользователь отменил подписку.
    • Закончился срок действия подписки (если был задан параметр expiration date).
    • Превышено максимальное количество попыток списания средств при продлении подписки (значение по умолчанию — 3, может быть изменено через обращение к аккаунт-менеджеру проекта).
    • Пользователь, у которого была данная подписка, не был найден при проверке существования пользователя в игре.
    • Платежный аккаунт пользователя, к которому привязана данная подписка, был удален.

Note: Отмена подписки может осуществляться с возвратом последнего платежа. Данная опция доступна и для партнера, и для пользователя.

  • Non renewing. Продление подписки отменено. Подписка будет действовать до окончания текущего платежного цикла и затем перейдет в статус Canceled. Возможные причины отмены продления:
    • Изменился статус подписки через вызов API метода или настройки в Личном кабинете Иксолла.
    • Пользователь отменил продление по ссылке в письме.
    • Платежный аккаунт пользователя, к которому привязана данная подписка, был удален.

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

  1. Перейдите в настройки модуля Подписки.
  2. Задайте следующие параметры:
    • Название.
    • Платежный цикл.

Note: План создается только для одной валюты. Для каждой валюты проекта необходимо создать отдельный набор планов.

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

Для решения Подписки необходимо реализовать обработку следующих типов оповещений:

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

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

Рецепты

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

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

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

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

Возможны два варианта интеграции — базовая и расширенная.

Базовая интеграция

Особенности базовой интеграции:

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

В процессе интеграции понадобится ID проекта. Параметр отображается в разделе Настройки проекта > Оповещения.

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

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

Полный список параметров виджета для базовой интеграции доступен в справочнике API.

Расширенная интеграция

Особенности расширенной интеграции:

В процессе интеграции понадобятся следующие параметры:

  • ID продавца. Параметр отображается в разделе Настройки проекта > Оповещения.
  • Ключ API. Параметр генерируется в разделе Настройки компании > Ключ API.
  • ID проекта. Параметр отображается в разделе Настройки проекта > Оповещения.
  • Секретный ключ проекта. Параметр генерируется в разделе Настройки проекта > Оповещения.

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

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

Полный список параметров виджета для расширенной интеграции доступен в справочнике API.

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

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

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

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

Рецепты

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

Получение токена

Для интеграции магазина необходимо получить токен. Токен — это строка, в которой содержится информация об игре, пользователе и параметрах покупки.

API Иксоллы использует Basic HTTP-аутентификацию. Укажите свой ID продавца в качестве username и ключ API в качестве password.

URL получения токена:

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

Запрос на получение токена

В HTTP POST запросе вы можете указать параметры, которые нужно передать на интерфейс магазина. Запрос и ответ передаются в JSON формате.

Ниже указан пример получения токена на PHP с использованием PHP SDK. Если вы разрабатываете на другом языке, можно использовать CURL пример (нажмите на кнопку CURL).

Copy
Full screen
  • php
  • curl
<?php

use Xsolla\SDK\API\XsollaClient;
use Xsolla\SDK\API\PaymentUI\TokenRequest;

$tokenRequest = new TokenRequest($projectId, $userId);
$tokenRequest->setUserEmail('email@example.com')
    ->setExternalPaymentId('12345')
    ->setSandboxMode(true)
    ->setUserName('USER_NAME');

$xsollaClient = XsollaClient::factory(array(
    'merchant_id' => MERCHANT_ID,
    'api_key' => API_KEY
));
$token = $xsollaClient->createPaymentUITokenFromRequest($tokenRequest);
curl -v https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token \
-X POST \
-u your_merchant_id:merchant_api_key \
-H 'Content-Type:application/json' \
-H 'Accept: application/json' \
-d '
{
    "user": {
        "id": {
            "value": "1234567"
        },
        "email": {
            "value": "email@example.com"
        }
    },
    "settings": {
        "project_id": 14004,
        "mode": "sandbox"
    }
}'

Полный список параметров доступен в справочнике API.

Тестирование процесса оплаты

Для тестирования процесса оплаты вы можете:

  • использовать тестовое окружение;
  • провести реальный платеж, а затем сделать возврат через Личный кабинет.

Тестовое окружение (“песочница”) — это автономная рабочая среда, в которой доступны все функции Live режима, кроме проведения реальных платежей. Вы можете получить доступ к тестовому окружению, отправив параметр “mode”:“sandbox” при получении токена.

Тестирование оплаты банковской картой:

  1. Откройте магазин в тестовом окружении.
  2. Выберите предмет покупки.
  3. Выберите группу способов оплаты Банковские карты.
  4. Введите реквизиты карты. Остальные поля могут быть заполнены любыми данными. Вы также можете указать неверные реквизиты (номер карты, срок действия или CVV) для генерации ошибки.

Список банковских карт для тестирования

Note: Платежи банковской картой в тестовом окружении могут проводиться в следующих валютах: USD, EUR, RUB, GBP, AED, ALL, AMD, ARS, AUD, AZN, BGN, BRL, BYN, CAD, CHF, CLP, CNY, COP, CZK, DKK, DZD, EGP, GEL, HKD, HRK, HUF, IDR, ILS, INR, ISK, JPY, KES, KGS, KRW, KZT, MAD, MDL, MKD, MNT, MXN, MYR, NGN, PEN, PHP, PKR, PLN, RON, RSD, SAR, SEK, SGD, THB, TRY, TWD, UAH, UYU, UZS, VEF, VND, ZAR.
Notice: Удалите “mode”:“sandbox” перед тем, как начать принимать реальные платежи.

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

  1. Откройте платежный интерфейс.
  2. Выберите группу способов оплаты Банковские карты.
  3. Введите реквизиты действующей карты.
  4. После оплаты перейдите в Личный кабинет в раздел Поиск транзакций.
  5. Выберите тестовую транзакцию и нажмите Возврат (транзакция должна находиться в статусе Выполнена).

Note: Для тестирования оплаты рекомендуется использовать карты Visa и MasterCard.

Открытие магазина

Для открытия платежного интерфейса в новом окне используется ссылка https://secure.xsolla.com/paystation2/?access_token=ACCESS_TOKEN, где ACCESS_TOKEN — токен, полученный на предыдущем шаге. Для тестирования используйте URL https://sandbox-secure.xsolla.com/paystation2/?access_token=ACCESS_TOKEN.

Кастомизация магазина

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

  • расположение на экране;
  • размер;
  • форма;
  • стили;
  • шрифты;
  • фон.

Для кастомизации магазина отправьте UI-кит или Design Assets аккаунт-менеджеру проекта.

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

Купоны

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

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

Лейблы

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

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

Бонусы

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

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

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

Рецепты

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