Модуль Pay2Play позволяет разработчикам игр продавать пин-коды напрямую с сайта игры. Для перехода в магазин используется виджет Pay2Play. Модуль имеет несколько вариантов интеграции и предлагает следующие возможности:
Xsolla Sandbox (“песочница”) — это автономная рабочая среда, в которой доступны все функции Live режима, кроме проведения реальных платежей. Вы можете получить доступ к Sandbox, отправив параметр "settings.mode" = "sandbox" в объекте access_data. Параметры и структура JSON внутри объекта access_data идентичны JSON в запросе на получение токена.
Тестирование оплаты банковской картой:
Откройте магазин в sandbox-режиме.
Выберите предмет покупки.
Выберите группу способов оплаты Банковские карты.
Введите реквизиты тестовой карты. Остальные поля могут быть заполнены любыми данными. Вы также можете указать неверные реквизиты (номер карты, срок действия или CVV) для генерации ошибки.
Виджет Pay2Play открывает магазин в lightbox (для полноэкранной версии) или в новом окне (для мобильных устройств и планшетов). Тип устройства определяется автоматически. Для получения кода виджета откройте настройки модуля в Личном Кабинете и перейдите на вкладку Опубликовать. Скопируйте код нужного виджета и добавьте его на сайт игры. Рекомендуется использовать асинхронную загрузку.
Пример асинхронной загрузки
HTML
<script>var access_data = {"settings":{"project_id":14004},"purchase":{"pin_codes":{"codes":[{"digital_content":"game_sku"}]}}};
var target_element = "#widget-example-element";
var s = document.createElement('script');
s.type = "text/javascript";
s.async = true;
s.src = "//static.xsolla.com/embed/pay2play/2.1.0/widget.min.js";
s.addEventListener('load', function(e){
var widgetInstance = XPay2PlayWidget.create(access_data,target_element);
}, false);
var head = document.getElementsByTagName('head')[0];
head.appendChild(s);
</script>
Полный список параметров инициализации виджета доступен в справочнике API, инструкция по добавлению виджета — в проекте Github.
Для интеграции магазина необходимо получить токен. Токен — это строка, в которой содержится информация об игре, пользователе и параметрах платежа. Xsolla API использует Basic HTTP-аутентификацию. Укажите свой ID мерчанта в качестве username и ключ API в качестве password.
Для получения доступа к sandbox-режиму используется параметр "mode" = "sandbox".
В HTTP POST запросе вы можете указать параметры, которые нужно передать на платежный интерфейс. Запрос и ответ передаются в JSON формате.
Ниже указан пример получения токена на PHP с использованием Xsolla PHP SDK. Если вы разрабатываете на другом языке, можно использовать CURL пример (нажмите на кнопку CURL).
Xsolla отправляет проекту следующие типы оповещений (webhooks):
Проверка существования пользователя
Успешный платеж
Отмена платежа
Чтобы подтвердить получение оповещения, ваш сервер должен вернуть 204 HTTP код без тела сообщения. Механизм работы оповещений с примерами обработки подробно описан в справочнике API.
Xsolla Sandbox ("песочница") — это автономная рабочая среда, в которой доступны все функции Live режима, кроме проведения реальных платежей. Вы можете получить доступ к Sandbox, отправив параметр "mode" = "sandbox" при получении токена.
Тестирование оплаты банковской картой:
Откройте магазин в sandbox-режиме.
Выберите предмет покупки.
Выберите группу способов оплаты Банковские карты.
Введите реквизиты карты из таблицы ниже. Остальные поля могут быть заполнены любыми данными. Вы также можете указать неверные реквизиты (номер карты, срок действия или CVV) для генерации ошибки.
Виджет Pay2Play открывает магазин в lightbox (для полноэкранной версии) или в новом окне (для мобильных устройств и планшетов). Тип устройства определяется автоматически. Для получения кода виджета откройте настройки модуля в Личном Кабинете и перейдите на вкладку Опубликовать. Скопируйте код нужного виджета и добавьте его на сайт игры. Рекомендуется использовать асинхронную загрузку.
Пример асинхронной загрузки
HTML
<script>var access_data = {"settings":{"project_id":14004},"purchase":{"pin_codes":{"codes":[{"digital_content":"game_sku"}]}}};
var target_element = "#widget-example-element";
var s = document.createElement('script');
s.type = "text/javascript";
s.async = true;
s.src = "//static.xsolla.com/embed/pay2play/2.1.0/widget.min.js";
s.addEventListener('load', function(e){
var widgetInstance = XPay2PlayWidget.create(access_data,target_element);
}, false);
var head = document.getElementsByTagName('head')[0];
head.appendChild(s);
</script>
Полный список параметров инициализации виджета доступен в справочнике API, инструкция по добавлению виджета — в проекте Github.
Проект может получать чаевые с каждой покупки. Для включения опции откройте настройки цен аддона и установите переключатель Использовать чаевые в виджете Pay2Play в положение Вкл. Для каждой добавленной валюты доступны три предустановленные суммы чаевых.
Пользователь сможет выбрать сумму чаевых перед переходом в магазин, чаевые будут добавлены к стоимости покупки.
в настройках аддона на вкладке Загрузка кодов установить переключатель По требованию в положение Вкл., переключатель Загруженные коды — в положение Выкл.
Проект может ограничить количество доступных к продаже пин-кодов. По мере продажи пин-кодов вы будете получать уведомления по электронной почте. Первое уведомление будет отправлено, когда в продаже останется не более 100 пин-кодов, второе — когда все пин-коды будут проданы. При попытке приобрести пин-коды сверх лимита проведение платежа блокируется.
Модуль Pay2Play позволяет настроить региональные ограничения продажи пин-кодов:
задать различную стоимость для отдельных стран или групп стран;
запретить продажу в определенных странах.
После выполнения необходимых настроек при покупке пин-кода пользователь увидит предупреждение (если страна пользователя попадает под заданные ограничения). В странах, для которых продажа пин-кодов запрещена, проведение платежа блокируется.
Для подключения опции обратитесь к аккаунт-менеджеру проекта. По каждой платформе, для которой необходимо настроить региональные ограничения, вам потребуется следующая информация:
Тип ограничения:
на активацию — пин-код может быть активирован только в определенных странах;
на запуск — пин-код может быть активирован в любой стране, игра может быть запущена только в определенных странах;
на активацию и на запуск — активация пин-кода и запуск игры могут быть выполнены только в определенных странах.
Список групп стран, для которых стоимость пин-кодов будет отличаться от базовых настроек модуля.
Настройки для каждой группы стран:
Название группы.
SKU — уникальный идентификатор группы.
Список цен в разных валютах. Обязательно укажите цену в валюте, выбранной в настройках модуля по умолчанию.
Список стран, входящих в группу.
Список стран, для которых продажа пин-кодов должна быть запрещена (при необходимости).
В рамках одной платформы страна может входить только в одну из групп с настройками цен или в список стран с запретом продажи. В странах, не вошедших ни в один из списков, продажа пин-кодов будет осуществляться без каких-либо ограничений и по ценам, указанным в базовых настройках модуля.
Обратите внимание! Если активация пин-кодов и запуск игры выполняются на вашей стороне или на стороне платформы, в день релиза игры необходимо загружать пин-коды с уже настроенными региональными ограничениями.