Вы можете создать токен с любыми параметрами пользователя. Вы отправляете эти
параметры 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
Открывать ли проверку 3-D Secure в новом окне браузера. false по умолчанию. Передайте значение true, если вы используете политику безопасности сайтов (Content Security Policy (CSP)).
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 темы в этом параметре.
Должна ли вкладка отображаться в меню. false по умолчанию.
order
integer
Расположение раздела в раскрывающемся меню в платежном интерфейсе.
object
Раздел Сохраненные способы.
enable
boolean
Отображать ли в платежном интерфейсе значок карандаша для перехода к редактированию сохраненных способов оплаты. По умолчанию true.
object
Раздел Управление подписками.
enable
boolean
Должна ли вкладка отображаться в меню. false по умолчанию.
order
integer
Расположение раздела в раскрывающемся меню в платежном интерфейсе.
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 попадает в единый отчет с поисковыми запросами.