Вы можете создать токен с любыми параметрами пользователя. Вы отправляете эти
параметры Xsolla при создании токена и получаете их обратно после успешной
оплаты. Токен может содержать только описанные ниже параметры, либо параметры,
предопределенные вами.
Если какой-либо параметр был передан в некорректном формате, токен не может
быть выдан. В ответ вернется 422 HTTP код и в JSON объекте в теле ответа будет
содержаться информация об ошибке. В параметре extended_message указывается,
какие именно параметры были переданы неверно.
По умолчанию время жизни токена — 24 часа. Если вы хотите изменить это
значение, обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com. Новое значение будет
действовать во всех проектах вашей компании, созданных в Личном кабинете.
Внимание
Токен, полученный в результате вызова этого метода, используется только для авторизации других запросов. Вы можете использовать этот токен для открытия платежного интерфейса, если у вас подключен продукт Subscriptions.
Чтобы открыть платежный интерфейс в новом окне, используйте ссылку: https://secure.xsolla.com/paystation4/?token={token}, где {token} — полученный токен.
Для тестирования используйте этот URL-адрес: https://sandbox-secure.xsolla.com/paystation4/?token={token}.
Внимание
Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.
SecuritybasicAuth
Request
path Parameters
merchant_id
required
integer
ID продавца.
Request Body schema: application/json
object
Объект с параметрами для настройки антифрод-фильтров. Список параметров приведен ниже на этой странице. Чтобы добавить кастомные параметры, свяжитесь с вашим персональным менеджером или напишите на csm@xsolla.com.
active_date
string
Дата последнего посещения согласно стандарту ISO 8601.
additional_verification
boolean
Использует ли игрок дополнительные способы защиты аккаунта.
character_customized
boolean
Настраивал ли игрок персонажа.
chat_activity
boolean
Пишет ли игрок в чате.
completed_tasks
integer
Количество выполненных заданий.
forum_activity
boolean
Пишет ли игрок в форуме.
items_used
boolean
Использует ли игрок купленные в игре предметы.
karma_points
integer
Карма игрока.
last_change_password_date
string
Дата последней смены пароля согласно стандарту ISO 8601.
non_premium_currency
number <float>
Сумма непремиальной валюты игрока.
notifications_enabled
boolean
Подписался ли игрок на рассылку уведомлений.
profile_completed
boolean
Добавил ли игрок дополнительную информацию в профиль.
profile_image_added
boolean
Загрузил ли игрок изображение профиля.
pvp_activity
boolean
Участвует ли игрок в битвах PvP (Player(s) versus player(s); игрок против игрока).
registration_date
string
Дата регистрации аккаунта согласно стандарту ISO 8601.
session_time
string
Период времени, который пользователь проводит в игре, согласно стандарту ISO 8601.
social_networks_added
boolean
Подключил ли игрок профили в социальных сетях.
total_bans
integer
Количество банов игрока в чате/на форуме.
total_characters
integer
Количество персонажей игрока.
total_clans
integer
Количество кланов, в которых состоит игрок.
total_friends
integer
Количество друзей игрока.
total_game_events
integer
Количество внутриигровых событий, в которых участвовал игрок.
total_gifts
integer
Количество подарков, отправленных или полученных игроком.
total_hours
integer
Общее количество часов, проведенных в игре.
total_inventory_value
number <float>
Суммарная стоимость инвентаря во внутриигровой валюте.
total_sum
number <float>
Общая сумма платежей.
tutorial_completed
boolean
Завершил ли игрок обучение в игре.
unlocked_achievements
integer
Количество разблокированных достижений.
user_level
integer
Уровень игрока, репутация или ранг.
win_rate
integer
Рейтинг побед игрока.
object
Объект с информацией о заказе.
object
Объект с данными о подписке.
available_plans
Array of strings
Массив с данными о планах подписок. Только планы из этого списка будут показаны в платежном интерфейсе.
currency
string
Валюта рекуррентного плана в заказе, на основе которой будут сделаны все расчеты.
operation
string
Тип операции, применяемой к плану подписки пользователя. Чтобы изменить план подписки, передайте в параметре значение change_plan. В параметре purchase.subscription.plan_id необходимо передать ID нового плана подписки.
plan_id
string
Внешний ID плана подписки. Вы можете найти этот параметр в Личном кабинете в разделе Subscriptions > Планы подписки.
product_id
string
ID рекуррентного продукта.
trial_days
integer
Количество дней пробного периода.
object
Параметры для настройки процесса оплаты и платежного интерфейса для пользователя.
project_id
required
integer
ID игры в Xsolla. Вы можете найти этот параметр в Личном кабинете.
currency
string
Предпочтительная валюта платежа. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.
external_id
string
ID транзакции в игре. Должен быть уникальным для каждого платежа пользователя. Изучите подробную информацию в документации.
Передайте значение sandbox, чтобы провести тестовые платежи. Обратите внимание, что URL для страницы оплаты будет https://sandbox-secure.xsolla.com.
payment_method
integer
ID способа оплаты.
payment_widget
string
Виджет оплаты. Принимает значения paybycash или giftcard. При передаче этого параметра пользователь перенаправляется на виджет Pay with Cash или Gift Cards.
Enum:"paybycash""giftcard"
object
Настройки политики редиректа.
delay
integer
Задержка (в секундах), после которой пользователь автоматически перенаправляется на return URL.
manual_redirection_action
string
Действие, которое совершает платежный интерфейс, когда пользователь закрывает окно платежного интерфейса или нажимает кнопку Back to the Game. Может принимать значения redirect (по умолчанию) и postmessage. Если указано значение redirect, пользователь перенаправляется на URL-адрес, указанный в токене или в Личном кабинете. Если указано значение postmessage, при закрытии окна платежного интерфейса отправляется событие close, при нажатии Back to the Game — событие return.
Enum:"redirect""postmessage"
redirect_button_caption
string
Текст кнопки для ручного перенаправления.
redirect_conditions
string
Статус платежа, при котором пользователь перенаправляется на return URL. Принимает значение none, successful, successful_or_canсeled или any.
URL-адрес страницы, на которую пользователь будет перенаправлен после совершения платежа. Подробная информация о настройке редиректов приведена в документации.
object
Объект с настройками интерфейса.
object
Объект с данными настройки пунктов меню.
object
Объект с данными настройки меню подписок.
hidden
boolean
Должна ли вкладка отображаться в меню.
order
integer
Место вкладки в меню.
object
Объект с данными настройки меню виртуальной валюты.
custom_amount
boolean
Возможность ввода произвольного количества виртуальной валюты в интерфейсе оплаты.
hidden
boolean
Должна ли вкладка отображаться в меню.
order
integer
Место вкладки в меню.
object
Объект с данными настройки меню предметов.
hidden
boolean
Должна ли вкладка отображаться в меню.
order
integer
Место вкладки в меню.
selected_group
string
Группа, которая будет выбрана при открытии вкладки.
selected_item
string
Предмет, который будет выбран при открытии вкладки. Должен быть передан артикул предмета.
currency_format
string
Передайте значение code, чтобы в платежном интерфейсе отображалось трехбуквенное обозначение валюты по ISO 4217. По умолчанию вместо трехбуквенного обозначения валюты отображается значок валюты.
object
Объект с данными настроек для desktop-версии.
object
Объект с настройками header.
close_button
boolean
Показывать ли кнопку Закрыть в платежном интерфейсе. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на адрес, указанный в параметре settings.return_url. false по умолчанию.
close_button_icon
string
Значок кнопки Закрыть в платежном интерфейсе.
Enum:
Description
arrow
Значок ← в левой части хедера платежного интерфейса.
cross
Значок × в правой части хедера платежного интерфейса.
is_visible
boolean
Должен ли header отображаться на странице оплаты.
type
string
Внешний вид header. Может принимать значения compact (название игры и ID пользователя не будут показываться в header) или normal.
Enum:"compact""normal"
visible_logo
boolean
Если true, логотип будет отображаться в хедере. Чтобы загрузить изображение, откройте проект в Личном кабинете и перейдите в раздел Pay Station > Настройки.
visible_name
boolean
Должно ли название игры отображаться в header.
visible_purchase
boolean
Должно ли описание покупки (purchase.description.value) отображаться в header, по умолчанию true.
object
Объект с данными настройки списка подписок.
description
string
Здесь вы можете передать текст про подписки. Текст появится перед списком рекуррентных планов в интерфейсе оплаты.
display_local_price
boolean
Если значение true и если локальная валюта пользователя отличается от базовой валюты плана, пользователь будет видеть две цены: цену в локальной валюте и цену в базовой валюте плана.
gp_quick_payment_button
boolean
Расположение способа оплаты с помощью Google Pay. Если передано значение true, кнопка для быстрой оплаты с помощью Google Pay отображается в верхней части платежного интерфейса. Если передано значение false, Google Pay отображается в списке способов оплаты в соответствии с алгоритмом PayRank. false по умолчанию.
object
visible_virtual_currency_balance
boolean
Должен ли этот элемент быть видимым в интерфейсе оплаты. true по умолчанию.
is_cart_open_by_default
boolean
Отображение списка товаров в корзине при открытии мобильной версии платежного интерфейса. Если передано значение true, список отображается в развернутом виде. Если передано значение false (по умолчанию) или параметр не передан — список отображается в свернутом виде.
is_independent_windows
boolean
Осуществляется ли переход из встроенного браузера лаунчера (WebView) во внешний браузер для совершения покупки. false по умолчанию.
is_payment_methods_list_mode
boolean
Отображается ли список способов оплаты, доступных в стране игрока, при открытии платежного интерфейса. Если передано значение false (по умолчанию), отображается способ оплаты, переданный в параметре settings.payment_method или способ, выбранный алгоритмом PayRank.
is_prevent_external_link_open
boolean
Отключение перехода по внешним ссылкам, по умолчанию false. При нажатии на внешнюю ссылку отправляется событие external-link-open с помощью механизма postMessage. В параметре url передается адрес, по которому выполняется переход.
is_search_field_hidden
boolean
Показывать ли в платежном интерфейсе строку поиска способов оплаты. Если передано значение true, строка поиска скрыта. false по умолчанию.
is_show_close_widget_warning
boolean
Показывать ли предупреждение об обработке транзакции при наведении на значок × перед закрытием страницы оплаты. Если передано значение false или параметр не передан, предупреждение не показывается. По умолчанию true.
is_three_ds_independent_windows
boolean
Default: false
Открывать ли проверку 3-D Secure в новом окне браузера. Если используется политика безопасности контента (Content Security Policy, CSP), передайте значение true.
layout
string
Расположение основных элементов платежного интерфейса. Вы можете открыть платежный интерфейс внутри вашей игры и/или поменять местами колонки с информацией о заказе и способах оплаты. Подробная информация представлена в инструкции по кастомизации.
Показывать ли кнопку Закрыть в мобильной версии платежного интерфейса. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на адрес, указанный в параметре settings.return_url. false по умолчанию.
close_button_icon
string
Значок кнопки Закрыть в платежном интерфейсе.
Enum:
Description
arrow
Значок ← в левой части хедера платежного интерфейса.
cross
Значок × в правой части хедера платежного интерфейса.
mode
string
Платежный интерфейс в режиме Личного кабинета. Принимает значение user_account. Header содержит только навигационное меню Личного кабинета; исключается возможность выбора предмета и оплата покупки; режим Личного кабинета доступен только в desktop-режиме.
theme
string
Тема платежного интерфейса. Может принимать значения 63295a9a2e47fab76f7708e1 для светлой темы (по умолчанию) или 63295aab2e47fab76f7708e3 для темной темы. Вы также можете создать собственную тему и передать ID темы в этом параметре.
Отображать ли в платежном интерфейсе значок карандаша для перехода к редактированию сохраненных способов оплаты. По умолчанию true.
order
integer >= 1
Расположение раздела в раскрывающемся меню в платежном интерфейсе. Обязательный, если передается settings.ui.user_account.payment_accounts.enable.
object
Объект с информацией о пользователе.
required
object
value
required
string
Уникальный ID пользователя в игре, который хранится на вашей стороне. Убедитесь, что указываете существующий ID пользователя. При возникновении ошибок изучите ответы на частые вопросы.
age
integer
Возраст пользователя.
attributes
object
Объект с данными об атрибутах пользователя, необходимых для фильтрации списка предметов. Параметры передаются в json хэше парами ключ-значение.
object
allow_modify
boolean
Может ли пользователь изменить страну на странице оплаты. Если в токене передан параметр country.value, значение по умолчанию — false.
value
string
Используется двухбуквенное обозначение страны согласно стандарту ISO 3166-1 alpha-2.
object <= 100 characters
Параметр user.email используется при построении моделей антифрода и положительно влияет на конверсию платежей. Передача параметра является обязательным требованием Xsolla и платежных систем. Если параметр не передан в запросе, на платежной форме появляется обязательное поле для ввода email-адреса. Пользователь получает чек о покупке на email-адрес, который был передан в параметре или указан в платежной форме.
value
required
string
Email-адрес пользователя. Должен быть валидным в соответствии с протоколом RFC 822.
allow_modify
boolean
Может ли пользователь указать свой email-адрес на странице оплаты. Если в токене передан параметр user.email.value, значение по умолчанию — false.
is_legal
boolean
Является ли пользователь юридическим лицом.
object
Объект с реквизитами юридического лица. Объект и все его параметры являются обязательными, если в user.is_legal передано значение true.
address
string
Полный юридический адрес.
country
string
Страна регистрации. Используется двухбуквенное обозначение страны согласно стандарту ISO 3166-1 alpha-2.
name
string
Полное юридическое наименование.
vat_id
string
Индивидуальный идентификатор налогоплательщика.
object
allow_modify
boolean
Может ли пользователь указать свое имя на странице оплаты. Если в токене передан параметр user.name.value, значение по умолчанию — false.
value
string
Никнейм пользователя.
object or null
value
string
Номер телефона пользователя.
object
value
string
Параметр позволяет однозначно идентифицировать пользователя, а также, в отличие от user ID, известен пользователю (адрес электронной почты, никнейм, и т. д.). Параметр может использоваться при оплате покупки вне игрового магазина (например, кнопка игры в терминалах оплаты).
object
value
string
Steam ID пользователя.
object
value
string = 32 characters
Уникальный ID пользователя — используется для проведения рекламных кампаний. Может содержать цифры и латинские буквы.
object
Объект с данными о характеристиках трафика.
utm_campaign
string
Название кампании. В данный параметр следует указывать транслитерированное или переведенное на английский язык название кампании.
utm_content
string
Содержание кампании.
utm_medium
string
Канал трафика (контекстная реклама, медийная реклама, email-рассылка).
utm_source
string
Источник трафика
utm_term
string
Ключевое слово кампании. При использовании этого параметра в статистике будут собираться данные по тем ключевым словам, которые используются для таргетинга вашей рекламной кампании (а не по поисковым запросам). В Google Analytics содержимое метки utm_term попадает в единый отчет с поисковыми запросами.