Как реализовать продажу виртуальной валюты Metaframe в собственном интерфейсе
Вы можете продавать виртуальную валюту, не используя виджет Metaframe. Например, если вы хотите реализовать собственный интерфейс магазина или использовать другой сервис авторизации. Для этого вам потребуется реализовать логику покупки, автопополнения и отображения баланса виртуальной валюты с помощью Metaframe API.
Предварительные действия
Перед тем как начать, выполните необходимые настройки проекта:
- Создайте проект.
- Создайте пакеты виртуальной валюты в Личном кабинете.
- Получите необходимые идентификаторы и секретный ключ. Для этого обратитесь к персональному менеджеру проекта, напишите на csm@xsolla.com или integration@xsolla.com. Предоставьте следующие данные из Личного кабинета:
- ID продавца, который вы можете найти:
- Рядом с названием вашей компании.
- В разделе Настройки компании > Компания.
- Aдресной строке браузера на любой странице Личного кабинета. URL-адрес имеет вид:
https://publisher.xsolla.com/ID продавца/раздел Личного кабинета
.
- ID проекта, который вы можете найти рядом с названием проекта.
- Секретный ключ проекта для подписи вебхуков, который вы можете найти в разделе Настройка проекта > Вебхуки.
- Ключ API, который отображается в Личном кабинете только при создании и должен храниться на вашей стороне. Создать ключ можно в разделах:
- Настройки компании > Ключи API;
- Настройки проекта > Ключи API.
Команда Xsolla сообщит вам следующие данные, необходимые для дальнейшей настройки:
- ID хоста;
- ID клиента OAuth 2.0 аккаунта Xsolla;
- секретный ключ клиента OAuth 2.0 аккаунта Xsolla.
Получение серверного токена
Серверный токен требуется для получения авторизационного токена пользователя и для автопополнения.
В серверной части вашего приложения реализуйте метод для получения серверного JSON Web Token (JWT) с использованием запроса Generate JWT. Запрос должен содержать следующие параметры:
grant_type
— тип JWT, передайте значениеclient_credentials
;client_secret
— секретный ключ OAuth 2.0-клиента, который вы получили от Xsolla;client_id
— ID OAuth 2.0-клиента, который вы получили от Xsolla.
Получение авторизационного токена пользователя
Авторизационный токен пользователя требуется для формирования платежного токена и для запроса баланса виртуальной валюты пользователя.
Если вы используете собственную систему авторизации, вы можете получить подходящий авторизационный токен используя:
- авторизационный токен социальной сети;
- custom ID — ID пользователя, сформированный на вашем сервере.
Получение токена при авторизации через социальные сети
- Настройте в Личном кабинете авторизацию пользователя через социальную сеть:
- Откройте проект в Личном кабинете.
- В боковом меню нажмите Login.
- Нажмите Создать вариант авторизации.
- Выберите Стандартный вариант авторизации и нажмите Создать и настроить. Подождите, пока ваш новый вариант авторизации не будет создан. Затем вы увидите страницу с настройками варианта авторизации.
- В блоке Способы авторизации выберите Авторизация через социальные сети и нажмите Настроить.
- Подключите социальные сети, которые используются для авторизации в вашем приложении.
- Нажмите название вашего варианта авторизации в цепочке навигации, чтобы вернуться на страницу варианта авторизации.
- Перейдите к блоку Безопасность и выберите раздел Подпись JWT.
- Выберите алгоритм генерации подписи RS256 и нажмите Сохранить изменения.
- Реализуйте в клиентской части вашего приложения получение и обновление токена с помощью метода API Auth via access token of social network.
Получение токена с помощью custom ID
Реализуйте в серверной части вашего приложения получение и обновление токена с помощью метода API Auth by custom ID. Запрос должен содержать заголовок X-Server-Authorization: <server_JWT>
, где <server_JWT>
— серверный токен, полученный на предыдущем шаге.
Управление виртуальной валютой с помощью методов API
Задача | Метод API | Способ авторизации |
---|---|---|
Создать заказ для покупки виртуальной валюты вручную. | Create manual purchase | User access token |
Получить информацию о балансе в нескольких виртуальных валютах. | Get multi virtual currencies balance | User access token |
Получить информацию о настройках автопополнения виртуальных валют для пользователя. | Retrieve info about automatic purchase | Серверный токен |
Изменить настройки автопополнения виртуальных валют для пользователя. | Update info about automatic purchase | Серверный токен |
Пополнить баланс пользователя. | Top up user’s multicurrency balance | Серверный токен |
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.