# Создание токена Вы можете создать токен с любыми параметрами пользователя. Вы отправляете эти параметры 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, который действует во всех проектах. Endpoint: POST /merchants/{merchant_id}/token Version: 2.0 Security: basicAuth ## Path parameters: - `merchant_id` (integer, required) ID продавца. ## Request fields (application/json): - `custom_parameters` (object) Объект с параметрами для настройки антифрод-фильтров. Список параметров приведен ниже на этой странице. Чтобы добавить кастомные параметры, свяжитесь с вашим персональным менеджером или напишите на [csm@xsolla.com](mailto:csm@xsolla.com). - `custom_parameters.active_date` (string) Дата последнего посещения согласно стандарту [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.additional_verification` (boolean) Использует ли игрок дополнительные способы защиты аккаунта. - `custom_parameters.character_customized` (boolean) Настраивал ли игрок персонажа. - `custom_parameters.chat_activity` (boolean) Пишет ли игрок в чате. - `custom_parameters.completed_tasks` (integer) Количество выполненных заданий. - `custom_parameters.forum_activity` (boolean) Пишет ли игрок в форуме. - `custom_parameters.items_used` (boolean) Использует ли игрок купленные в игре предметы. - `custom_parameters.karma_points` (integer) Карма игрока. - `custom_parameters.last_change_password_date` (string) Дата последней смены пароля согласно стандарту [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.non_premium_currency` (number) Сумма непремиальной валюты игрока. - `custom_parameters.notifications_enabled` (boolean) Подписался ли игрок на рассылку уведомлений. - `custom_parameters.profile_completed` (boolean) Добавил ли игрок дополнительную информацию в профиль. - `custom_parameters.profile_image_added` (boolean) Загрузил ли игрок изображение профиля. - `custom_parameters.pvp_activity` (boolean) Участвует ли игрок в битвах PvP (Player(s) versus player(s); игрок против игрока). - `custom_parameters.registration_date` (string) Дата регистрации аккаунта согласно стандарту [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.session_time` (string) Период времени, который пользователь проводит в игре, согласно стандарту [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - `custom_parameters.social_networks_added` (boolean) Подключил ли игрок профили в социальных сетях. - `custom_parameters.total_bans` (integer) Количество банов игрока в чате/на форуме. - `custom_parameters.total_characters` (integer) Количество персонажей игрока. - `custom_parameters.total_clans` (integer) Количество кланов, в которых состоит игрок. - `custom_parameters.total_friends` (integer) Количество друзей игрока. - `custom_parameters.total_game_events` (integer) Количество внутриигровых событий, в которых участвовал игрок. - `custom_parameters.total_gifts` (integer) Количество подарков, отправленных или полученных игроком. - `custom_parameters.total_hours` (integer) Общее количество часов, проведенных в игре. - `custom_parameters.total_inventory_value` (number) Суммарная стоимость инвентаря во внутриигровой валюте. - `custom_parameters.total_sum` (number) Общая сумма платежей. - `custom_parameters.tutorial_completed` (boolean) Завершил ли игрок обучение в игре. - `custom_parameters.unlocked_achievements` (integer) Количество разблокированных достижений. - `custom_parameters.user_level` (integer) Уровень игрока, репутация или ранг. - `custom_parameters.win_rate` (integer) Рейтинг побед игрока. - `purchase` (object) Объект с информацией о заказе. - `purchase.subscription` (object) Объект с данными о подписке. - `purchase.subscription.available_plans` (array) Массив с данными о планах подписок. Только планы из этого списка будут показаны в платежном интерфейсе. - `purchase.subscription.currency` (string) Валюта рекуррентного плана в заказе, на основе которой будут сделаны все расчеты. - `purchase.subscription.operation` (string) Тип операции, применяемой к плану подписки пользователя. Чтобы изменить план подписки, передайте в параметре значение change_plan. В параметре purchase.subscription.plan_id необходимо передать ID нового плана подписки. - `purchase.subscription.plan_id` (string) Внешний ID плана подписки. Вы можете найти этот параметр в Личном кабинете в разделе Subscriptions > Планы подписки. - `purchase.subscription.product_id` (string) ID рекуррентного продукта. - `purchase.subscription.trial_days` (integer) Количество дней пробного периода. - `settings` (object) Параметры для настройки процесса оплаты и платежного интерфейса для пользователя. - `settings.currency` (string) Предпочтительная валюта платежа. Используется трехбуквенное обозначение валюты согласно стандарту [ISO 4217](https://developers.xsolla.com/ru/doc/pay-station/references/supported-currencies/). - `settings.external_id` (string) ID транзакции в игре. Должен быть уникальным для каждого платежа пользователя. Изучите подробную информацию в документации. - `settings.language` (string) Язык интерфейса. Используется [двухбуквенное обозначение](https://developers.xsolla.com/ru/doc/pay-station/features/localization/) (в нижнем регистре). - `settings.mode` (string) Передайте значение sandbox, чтобы провести тестовые платежи. Обратите внимание, что URL для страницы оплаты будет https://sandbox-secure.xsolla.com. - `settings.payment_method` (integer) ID способа оплаты. - `settings.payment_widget` (string) Виджет оплаты. Принимает значения paybycash или giftcard. При передаче этого параметра пользователь перенаправляется на виджет Pay with Cash или Gift Cards. Enum: "paybycash", "giftcard" - `settings.project_id` (integer, required) ID игры в Xsolla. Вы можете найти этот параметр в Личном кабинете. - `settings.redirect_policy` (object) Настройки политики редиректа. - `settings.redirect_policy.delay` (integer) Задержка (в секундах), после которой пользователь автоматически перенаправляется на return URL. - `settings.redirect_policy.manual_redirection_action` (string) Действие, которое совершает платежный интерфейс, когда пользователь закрывает окно платежного интерфейса или нажимает кнопку Back to the Game. Может принимать значения redirect (по умолчанию) и postmessage. Если указано значение redirect, пользователь перенаправляется на URL-адрес, указанный в токене или в Личном кабинете. Если указано значение postmessage, при закрытии окна платежного интерфейса отправляется событие close, при нажатии Back to the Game — событие return. Enum: "redirect", "postmessage" - `settings.redirect_policy.redirect_button_caption` (string) Текст кнопки для ручного перенаправления. - `settings.redirect_policy.redirect_conditions` (string) Статус платежа, при котором пользователь перенаправляется на return URL. Принимает значение none, successful, successful_or_canсeled или any. Enum: "none", "successful", "successful_or_canceled", "any" - `settings.redirect_policy.status_for_manual_redirection` (string) Статус платежа, при котором появляется кнопка для возврата на return URL. Принимает значение none, successful, successful_or_canсeled или any. Enum: "none", "successful", "successful_or_canceled", "any" - `settings.return_url` (string) URL-адрес страницы, на которую пользователь будет перенаправлен после совершения платежа. Подробная информация о настройке редиректов приведена в документации. - `settings.ui` (object) Объект с настройками интерфейса. - `settings.ui.apple_pay_quick_payment_button` (boolean) Отображать ли кнопку для быстрой оплаты с помощью Apple Pay в верхней части платежного интерфейса, если этот способ оплаты поддерживается на устройстве пользователя. true по умолчанию. Если передано значение false, Apple Pay отображается в списке способов оплаты в соответствии с алгоритмом [PayRank](/ru/doc/pay-station/how-to/how-to-manage-top-payment-methods/). ПримечаниеНа мобильных Android-устройствах, а также на любых других, где сервис Apple Pay недоступен, этот способ оплаты будет скрыт из списка вне зависимости от значения параметра. - `settings.ui.components` (object) Объект с данными настройки пунктов меню. - `settings.ui.components.subscriptions` (object) Объект с данными настройки меню подписок. - `settings.ui.components.subscriptions.hidden` (boolean) Должна ли вкладка отображаться в меню. - `settings.ui.components.subscriptions.order` (integer) Место вкладки в меню. - `settings.ui.components.virtual_currency` (object) Объект с данными настройки меню виртуальной валюты. - `settings.ui.components.virtual_currency.custom_amount` (boolean) Возможность ввода произвольного количества виртуальной валюты в интерфейсе оплаты. - `settings.ui.components.virtual_items` (object) Объект с данными настройки меню предметов. - `settings.ui.components.virtual_items.selected_group` (string) Группа, которая будет выбрана при открытии вкладки. - `settings.ui.components.virtual_items.selected_item` (string) Предмет, который будет выбран при открытии вкладки. Должен быть передан артикул предмета. - `settings.ui.currency_format` (string) Передайте значение code, чтобы в платежном интерфейсе отображалось трехбуквенное обозначение валюты по [ISO 4217](https://developers.xsolla.com/ru/doc/pay-station/references/supported-currencies/). По умолчанию вместо трехбуквенного обозначения валюты отображается значок валюты. - `settings.ui.desktop` (object) Объект с данными настроек для desktop-версии. - `settings.ui.desktop.header` (object) Объект с настройками header. - `settings.ui.desktop.header.close_button` (boolean) Показывать ли кнопку Закрыть в платежном интерфейсе. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на адрес, указанный в параметре settings.return_url. false по умолчанию. - `settings.ui.desktop.header.close_button_icon` (string) Значок кнопки Закрыть в платежном интерфейсе. Enum: "arrow", "cross" - `settings.ui.desktop.header.is_visible` (boolean) Должен ли header отображаться на странице оплаты. - `settings.ui.desktop.header.type` (string) Внешний вид header. Может принимать значения compact (название игры и ID пользователя не будут показываться в header) или normal. Enum: "compact", "normal" - `settings.ui.desktop.header.visible_logo` (boolean) Если true, логотип будет отображаться в хедере. Чтобы загрузить изображение, откройте проект в [Личном кабинете](https://publisher.xsolla.com/) и перейдите в раздел Pay Station > Настройки. - `settings.ui.desktop.header.visible_name` (boolean) Должно ли название игры отображаться в header. - `settings.ui.desktop.header.visible_purchase` (boolean) Должно ли описание покупки (purchase.description.value) отображаться в header, по умолчанию true. - `settings.ui.desktop.subscription_list` (object) Объект с данными настройки списка подписок. - `settings.ui.desktop.subscription_list.description` (string) Здесь вы можете передать текст про подписки. Текст появится перед списком рекуррентных планов в интерфейсе оплаты. - `settings.ui.desktop.subscription_list.display_local_price` (boolean) Если значение true и если локальная валюта пользователя отличается от базовой валюты плана, пользователь будет видеть две цены: цену в локальной валюте и цену в базовой валюте плана. - `settings.ui.gp_quick_payment_button` (boolean) Расположение способа оплаты с помощью Google Pay. Если передано значение true, кнопка для быстрой оплаты с помощью Google Pay отображается в верхней части платежного интерфейса вне зависимости от устройства и браузера пользователя. Если передано значение false, Google Pay отображается в списке способов оплаты в соответствии с алгоритмом [PayRank](/ru/doc/pay-station/how-to/how-to-manage-top-payment-methods/). Если параметр не передан, Google Pay отображается в верхней части платежного интерфейса на любых устройствах и браузерах пользователя, кроме Safari — в Safari он отображается в списке способов оплаты. - `settings.ui.header` (object) - `settings.ui.header.visible_virtual_currency_balance` (boolean) Должен ли этот элемент быть видимым в интерфейсе оплаты. true по умолчанию. - `settings.ui.is_cart_open_by_default` (boolean) Отображение в платежном интерфейсе списка товаров корзины и финансовой информации. Если передано значение true, информация отображается в развернутом виде. Если передано значение false (по умолчанию) или параметр не передан, информация отображается в свернутом виде. - `settings.ui.is_independent_windows` (boolean) Осуществляется ли переход из встроенного браузера лаунчера (WebView) во внешний браузер для совершения покупки. false по умолчанию. - `settings.ui.is_language_selector_hidden` (boolean) Скрыт ли на странице оплаты переключатель языков. Если передано значение false (по умолчанию), переключатель отображается. - `settings.ui.is_payment_methods_list_mode` (boolean) Отображается ли список способов оплаты, доступных в стране игрока, при открытии платежного интерфейса. ​​Если передано значение false (по умолчанию), отображается способ оплаты, переданный в параметре settings.payment_method или способ, выбранный [алгоритмом PayRank](https://developers.xsolla.com/ru/solutions/payments/payment-ui-management/top-payment-methods-management/). - `settings.ui.is_prevent_external_link_open` (boolean) Отключение перехода по внешним ссылкам, по умолчанию false. При нажатии на внешнюю ссылку отправляется событие external-link-open с помощью механизма postMessage. В параметре url передается адрес, по которому выполняется переход. - `settings.ui.is_search_field_hidden` (boolean) Показывать ли в платежном интерфейсе строку поиска способов оплаты. Если передано значение true, строка поиска скрыта. false по умолчанию. - `settings.ui.is_show_close_widget_warning` (boolean) Показывать ли предупреждение об обработке транзакции при наведении на значок × перед закрытием страницы оплаты. Если передано значение false или параметр не передан, предупреждение не показывается. По умолчанию true. - `settings.ui.is_three_ds_independent_windows` (boolean) Открывать ли проверку 3-D Secure в новом окне браузера. Если используется политика безопасности контента (Content Security Policy, CSP), передайте значение true. - `settings.ui.layout` (string) Расположение основных элементов платежного интерфейса. Вы можете открыть платежный интерфейс внутри вашей игры и/или поменять местами колонки с информацией о заказе и способах оплаты. Подробная информация представлена в [инструкции по кастомизации](https://developers.xsolla.com/ru/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout). Enum: "embed", "column_reverse", "embed_column_reverse" - `settings.ui.mobile` (object) - `settings.ui.mode` (string) Режим отображения платежного интерфейса для управления сохраненными способами оплаты. Может принимать значение user_account или не передаваться. В режиме управления сохраненными способами оплаты пользователю доступно только переключение языка, добавление и удаление способов оплаты. ПримечаниеПри передаче этого параметра не будет отображаться кнопка редиректа. Чтобы перенаправить пользователя после сохранения способа оплаты, настройте автоматический редирект. - `settings.ui.theme` (string) Тема платежного интерфейса. Может принимать значения 63295a9a2e47fab76f7708e1 для светлой темы (по умолчанию) или 63295aab2e47fab76f7708e3 для темной темы. Вы также можете [создать собственную тему](https://developers.xsolla.com/ru/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token) и передать ID темы в этом параметре. Enum: "63295a9a2e47fab76f7708e1", "63295aab2e47fab76f7708e3" - `settings.ui.user_account` (object) Объект с данными об аккаунте пользователя. - `settings.ui.user_account.payment_accounts` (object) Раздел Сохраненные способы. - `settings.ui.user_account.payment_accounts.enable` (boolean) Отображать ли в платежном интерфейсе значок карандаша для перехода к редактированию сохраненных способов оплаты. По умолчанию true. - `settings.ui.user_account.payment_accounts.order` (integer) Расположение раздела в раскрывающемся меню в платежном интерфейсе. Обязательный, если передается settings.ui.user_account.payment_accounts.enable. - `user` (object) Объект с информацией о пользователе. - `user.age` (integer) Возраст пользователя. - `user.attributes` (object) Объект с данными об атрибутах пользователя, необходимых для фильтрации списка предметов. Параметры передаются в json хэше парами ключ-значение. - `user.country` (object) - `user.country.allow_modify` (boolean) Может ли пользователь изменить страну на странице оплаты. Если в токене передан параметр country.value, значение по умолчанию — false. - `user.country.value` (string) Используется двухбуквенное обозначение страны согласно стандарту [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). - `user.email` (object) Параметр user.email используется при построении моделей антифрода и положительно влияет на конверсию платежей. Передача параметра является обязательным требованием Xsolla и платежных систем. Если параметр не передан в запросе, на платежной форме появляется обязательное поле для ввода email-адреса. Пользователь получает чек о покупке на email-адрес, который был передан в параметре или указан в платежной форме. - `user.email.allow_modify` (boolean) Может ли пользователь указать свой email-адрес на странице оплаты. Если в токене передан параметр user.email.value, значение по умолчанию — false. - `user.email.value` (string, required) Email-адрес пользователя. Должен быть валидным в соответствии с протоколом [RFC 822](https://www.w3.org/Protocols/rfc822/#z8). - `user.id` (object, required) - `user.id.value` (string, required) Уникальный ID пользователя в игре, который хранится на вашей стороне. Убедитесь, что указываете существующий ID пользователя. При возникновении ошибок изучите [ответы на частые вопросы](/ru/doc/pay-station/references/faq/#faq_validation). - `user.is_legal` (boolean) Является ли пользователь юридическим лицом. - `user.legal` (object) Объект с реквизитами юридического лица. Объект и все его параметры являются обязательными, если в user.is_legal передано значение true. - `user.legal.address` (string) Полный юридический адрес. - `user.legal.country` (string) Страна регистрации. Используется двухбуквенное обозначение страны согласно стандарту [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). - `user.legal.name` (string) Полное юридическое наименование. - `user.legal.vat_id` (string) Индивидуальный идентификатор налогоплательщика. - `user.name` (object) - `user.name.allow_modify` (boolean) Может ли пользователь указать свое имя на странице оплаты. Если в токене передан параметр user.name.value, значение по умолчанию — false. - `user.name.value` (string) Никнейм пользователя. - `user.phone` (object,null) - `user.phone.value` (string) Номер телефона пользователя. - `user.public_id` (object) - `user.public_id.value` (string) Параметр позволяет однозначно идентифицировать пользователя, а также, в отличие от user ID, известен пользователю (адрес электронной почты, никнейм, и т. д.). Параметр может использоваться при оплате покупки вне игрового магазина (например, кнопка игры в терминалах оплаты). - `user.steam_id` (object) - `user.steam_id.value` (string) Steam ID пользователя. - `user.tracking_id` (object) - `user.tracking_id.value` (string) Уникальный ID пользователя — используется для проведения рекламных кампаний. Может содержать цифры и латинские буквы. - `user.utm` (object) Объект с данными о характеристиках трафика. - `user.utm.utm_campaign` (string) Название кампании. В данный параметр следует указывать транслитерированное или переведенное на английский язык название кампании. - `user.utm.utm_content` (string) Содержание кампании. - `user.utm.utm_medium` (string) Канал трафика (контекстная реклама, медийная реклама, email-рассылка). - `user.utm.utm_source` (string) Источник трафика - `user.utm.utm_term` (string) Ключевое слово кампании. При использовании этого параметра в статистике будут собираться данные по тем ключевым словам, которые используются для таргетинга вашей рекламной кампании (а не по поисковым запросам). В Google Analytics содержимое метки utm_term попадает в единый отчет с поисковыми запросами. ## Response 200 fields (application/json): - `token` (string) ## Response 422 fields (application/json): - `extended_message` (object) - `extended_message.global_errors` (array) - `extended_message.property_errors` (object) Объект содержит названия параметров с описанием ошибки. - `http_status_code` (integer) - `message` (string) - `request_id` (string)