Вы можете создать токен с произвольными пользовательскими параметрами. Вы отправляете эти параметры при получении токена и получаете их обратно после успешной оплаты. Токен может содержать только параметры, описанные в этом документе или предварительно определенные вами.
Если какой-либо параметр отправлен в неправильном формате или имеет неправильный тип, токен выдан не будет. Вы получите HTTP-код 422 с описанием ошибки в JSON-формате. В extended_message вы получите информацию о том, какие именно параметры были отправлены неправильно.
Внимание
Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.
SecuritybasicAuth
Request
path Parameters
merchant_id
required
integer
ID продавца.
Request Body schema: application/json
object
Вы можете передавать в токене в объекте custom_parameters дополнительные параметры, которые могут использоваться для настройки антифрод-фильтров. Рекомендуемые параметры приведены в раскрывающемся списке. Подробнее в документации по продукту Pay Station.
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
integer <float>
Сумма непремиальной валюты игрока.
notifications_enabled
boolean
Подписался ли игрок на рассылку уведомлений.
profile_completed
boolean
Добавил ли игрок дополнительную информацию в профиль.
profile_image_added
boolean
Загрузил ли игрок изображение профиля.
pvp_activity
boolean
Участвует ли игрок в PvP.
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
integer <float>
Суммарная стоимость инвентаря во внутриигровой валюте.
total_sum
integer <float>
Общая сумма платежей.
tutorial_completed
boolean
Завершил ли игрок обучение в игре.
unlocked_achievements
integer
Количество разблокированных умений.
user_level
integer
Уровень игрока, репутация или ранг.
win_rate
integer
Рейтинг побед игрока.
object
Объект с информацией о заказе.
object
Объект с информацией о заказе.
amount
integer <float>
Сумма заказа.
currency
string
Валюта заказа. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.
object
Объект с данными о подписке.
available_plans
Array of strings
Массив с данными о планах подписок. Только планы из этого списка будут показаны в платежном интерфейсе.
currency
string
Валюта рекуррентного плана в заказе, на основе которой будут сделаны все расчеты.
object
Информация о подаренной подписке.
recipient
required
string
ID получателя.
email
required
string
Email-адрес получателя.
anonymous
boolean
Отправлен ли подарок анонимно. Если значение true, имя отправителя будет скрыто в email-уведомлении. По умолчанию false.
message
string
Сообщение для получателя.
redirect_url
string
Ссылка на страницу с дополнительной информацией о подаренной подписке или страницу создания учетной записи. Получатель подарка сможет перейти на эту страницу из email-уведомления о подаренной подписке.
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
Идентификатор транзакции в игре. Должен быть уникальным для каждого платежа пользователя.
Передайте значение 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
Настройки политики редиректа.
autoredirect_from_status_page
boolean
Перенаправлять ли пользователя автоматически со страницы статуса платежа.
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.
Пользователь будет перенаправлен на данную страницу после совершения платежа. Параметры user_id, foreigninvoice, invoice_id и status будут автоматически добавлены к ссылке.
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
Предмет, который будет выбран при открытии вкладки. Должен быть передан артикул предмета.
object
Объект с данными настроек для desktop-версии.
object
Объект с настройками хедера.
close_button
boolean
Показывать ли кнопку Закрыть в настольной версии платежного интерфейса. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на адрес, указанный в параметре settings.return_url. false по умолчанию.
is_visible
boolean
Должен ли хедер отображаться на странице оплаты.
type
string
Внешний вид хедера. Может принимать значения compact (название игры и ID пользователя не будут показываться в хедере) или normal.
Enum:"compact""normal"
visible_logo
boolean
Если значение true, то логотип будет отображаться в хедере (необходимо сначала прислать файл с логотипом персональному менеджеру проекта).
visible_name
boolean
Должно ли название игры отображаться в хедере.
visible_purchase
boolean
Должно ли описание покупки (purchase.description.value) отображаться в хедере, по умолчанию true.
object
Объект с данными настройки списка подписок.
description
string
Здесь вы можете передать текст про подписки. Текст появится перед списком рекуррентных планов в интерфейсе оплаты.
display_local_price
boolean
Если значение true и если локальная валюта пользователя отличается от базовой валюты плана, пользователь будет видеть две цены: цену в локальной валюте и цену в базовой валюте плана.
layout
string
Шаблон списка. Принимает значения list (по умолчанию) или grid.
Enum:"list""grid"
object
Объект с данными настройки списка пакетов виртуальной валюты.
button_with_price
boolean
Если значение true, то цена за предмет будет показана внутри кнопки. Если false, то цена будет слева от кнопки. false по умолчанию.
description
string
Здесь вы можете передать текст про виртуальную валюту. Текст появится перед списком пакетов виртуальной валюты в интерфейсе оплаты.
object
Объект с данными настройки списка предметов.
button_with_price
boolean
Если значение true, то цена за предмет будет показана внутри кнопки. Если false, то цена будет слева от кнопки. false по умолчанию.
layout
string
Шаблон списка. Принимает значения list (по умолчанию) или grid.
Enum:"list""grid"
view
string
Вывод списка групп виртуальных предметов либо в виде вертикального меню, либо над окном в виде горизонтального меню. Принимает значения horizontal_navigation или vertical_navigation (по умолчанию).
Enum:"horizontal_navigation""vertical_navigation"
object
visible_virtual_currency_balance
boolean
Должен ли этот элемент быть видимым в интерфейсе оплаты. true по умолчанию.
is_prevent_external_link_open
boolean
Отключение перехода по внешним ссылкам, по умолчанию true. При нажатии на внешнюю ссылку отправляется событие external-link-open с помощью механизма postMessage. В параметре url передается адрес, по которому выполняется переход.
license_url
string
Ссылка на лицензионное соглашение.
object
object
is_visible
boolean
Скрывать или нет footer в мобильной версии платежного интерфейса.
object
close_button
boolean
Показывать ли кнопку Закрыть в мобильной версии платежного интерфейса. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на адрес, указанный в параметре settings.return_url. false по умолчанию.
mode
string
Пользователь может совершить платеж только через сохраненные способы оплаты. Принимает значение saved_accounts.
Value:"saved_accounts"
mode
string
Платежный интерфейс в режиме Личного кабинета. Принимает значение user_account. Хедер содержит только навигационное меню Личного кабинета; исключается возможность выбора предмета и оплата покупки; режим Личного кабинета доступен только в desktop-режиме.
size
string
Размер платежного интерфейса. В зависимости от требуемых размеров платежного интерфейса, параметр может принимать следующие значения:
small: Наименьший размер платежного интерфейса. Используется в случаях, когда размеры окна строго ограничены (размер: 620 x 630)
medium: Рекомендуемый размер платежного интерфейса. Оптимален при открытии в lightbox (размер: 740 x 760)
large: желательно открывать в новом окне/вкладке (размер: 820 x 840)
Enum:"small""medium""large"
theme
string
Внешний вид интерфейса оплаты. Может принимать значения default (по умолчанию) или default_dark.
Enum:"default""default_dark"
object
Объект с данными об аккаунте пользователя.
object
Страница История пользователя.
enable
boolean
Должна ли вкладка отображаться в меню. false по умолчанию.
order
integer
Место вкладки в меню.
object
Страница Мой аккаунт.
enable
boolean
Должна ли вкладка отображаться в меню. false по умолчанию.
order
integer
Место вкладки в меню.
object
Страница Сохраненные платежные аккаунты.
enable
boolean
Должна ли вкладка отображаться в меню. false по умолчанию.
order
integer
Место вкладки в меню.
object
Страница Управление подписками.
enable
boolean
Должна ли вкладка отображаться в меню. false по умолчанию.
order
integer
Место вкладки в меню.
version
string
Тип устройства. Может принимать значения desktop (по умолчанию) или mobile.
Enum:"desktop""mobile"
object
Объект с информацией о пользователе.
required
object
value
required
string
ID пользователя.
age
integer
Возраст пользователя.
attributes
object
Объект с данными об атрибутах пользователя, необходимых для фильтрации списка предметов. Параметры передаются в json хэше парами ключ-значение.
object
allow_modify
boolean
Может ли пользователь изменить страну на странице оплаты. Если в токене передан параметр country.value, значение по умолчанию — false.
value
string
Используется двухбуквенное обозначение страны согласно стандарту ISO 3166-1 alpha-2.
object
Параметр user.email используется при построении моделей антифрода и положительно влияет на конверсию платежей. Передача параметра является обязательным требованием Xsolla и платежных систем. Если параметр не передан в запросе, на платежной форме появляется обязательное поле для ввода email-адреса. Пользователь получает чек о покупке на email-адрес, который был передан в параметре или указан в платежной форме.
value
required
string
Email пользователя. Должен быть валидным в соответствии с протоколом RFC 822.
is_legal
boolean
Является ли пользователь юридическим лицом.
object
Объект с реквизитами юридического лица. Объект и все его параметры являются обязательными, если в user.is_legal передано значение true.
address
string
Полный юридический адрес.
country
string
Страна регистрации. Используется двухбуквенное обозначение страны согласно стандарту ISO 3166-1 alpha-2.
name
string
Полное юридическое наименование.
vat_id
string
Индивидуальный идентификатор налогоплательщика.
object
value
string
Ник пользователя.
object
value
string
Номер телефона пользователя.
object
value
string
Параметр позволяет однозначно идентифицировать пользователя, а также, в отличие от user ID, известен пользователю (адрес электронной почты, никнейм, и т. д.). Параметр может использоваться при оплате покупки вне игрового магазина (например, кнопка игры в терминалах оплаты).
object
value
string
Steam ID пользователя.
object
value
string
Уникальный Tracking ID (используется для проведения рекламных кампаний).
object
Объект с данными о характеристиках трафика.
utm_campaign
string
Название кампании. В данный параметр следует указывать транслитерированное или переведенное на английский язык название кампании.
utm_content
string
Содержание кампании.
utm_medium
string
Канал трафика (контекстная реклама, медийная реклама, email-рассылка).
utm_source
string
Источник трафика
utm_term
string
Ключевое слово кампании. При использовании этого параметра в статистике будут собираться данные по тем ключевым словам, которые используются для таргетинга вашей рекламной кампании (а не по поисковым запросам). В Google Analytics содержимое метки utm_term попадает в единый отчет с поисковыми запросами.