Xsolla-logo

Создание платежного токена для покупки

post/v3/project/{project_id}/admin/payment/token

Генерирует заказ и платежный токен для него. Заказ генерируется на основе товаров, переданных в теле запроса.

Внимание

Параметр user.country.value используется для выбора валюты для заказа. Если страна пользователя неизвестна, альтернативным вариантом является указание IP-адреса пользователя в X-User-Ip заголовке.
Для корректной работы метода требуется один из этих двух вариантов.
Выбранная валюта используется для оплаты в Pay Station.
SecuritybasicAuth
Request
path Parameters
project_id
required
integer

ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.

Example: 44056
Request Body schema: application/json
required
object
required
object
value
string [ 1 .. 255 ] characters

ID пользователя. При тестировании вы можете передать в параметре любые символы. Для приема реальных платежей передайте в параметре ID пользователя из вашей системы. Этот ID будет передаваться в вебхуке .

age
integer

Возраст пользователя.

attributes
object [ 1 .. 100 ] items

Пользовательские атрибуты для фильтрации списка элементов, представленные в виде допустимого набора пар ключ-значение в формате JSON.

object
allow_modify
boolean
Default: false

Может ли пользователь изменить страну в платежном интерфейсе.

value
string

Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Параметр обязательный, если в заголовке X-User-Ip не передан IP-адрес.

object
value
string <email> [ 3 .. 255 ] characters

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 [ 1 .. 255 ] characters

Никнейм пользователя.

object
value
required
string

Номер телефона пользователя.

allow_modify
boolean
Default: false

Может ли пользователь изменить номер телефона в пользовательском интерфейсе оплаты. Если phone.value передается в токене, по умолчанию значение равно false.

hidden
boolean
Default: true
object
value
required
string = 17 characters ^\d{17}$

Steam ID.

object
value
required
string = 32 characters ^[A-Za-z0-9]{32}$

Уникальный идентификатор отслеживания (используется в маркетинговых кампаниях).

object

Атрибуты трафика.

utm_campaign
string

Название кампании, транслитерированное или переведенное на английский язык.

utm_content
string

Содержимое кампании.

utm_medium
string

Канал трафика (контекстная реклама, медийная реклама, списки рассылки и т.д.).

utm_source
string

Источник трафика.

utm_term
string

Ключевое слово кампании. Если этот параметр установлен, статистика будет основываться на ключевых словах, используемых для таргетинга рекламы, а не на конкретных поисковых запросах. В Google Analytics указанный utm_term является частью общего отчета по поисковым запросам.

required
object
required
Array of objects non-empty
Array (non-empty)
sku
required
string non-empty

Уникальный ID товара. Артикул может содержать только строчные латинские буквы, цифры, точки, тире и подчеркивания.

quantity
required
number >= 1

Количество товара.

object or null [ 1 .. 200 ] properties

Ваши пользовательские параметры представлены в виде допустимого набора пар ключ-значение в формате JSON.
Вы можете передать дополнительные параметры через это поле для настройки фильтров защиты от мошенничества. Смотрите документацию Pay Station.

additional property
string or integer or number or boolean
One of:
string
sandbox
boolean
Default: false

Передайте значение true, чтобы провести тестовые платежи. Обратите внимание, что URL для страницы оплаты будет https://sandbox-secure.xsolla.com.

object

Параметры для настройки процесса оплаты и плажетного интерфейса для пользователя.

currency
string

Предпочтительная валюта платежа. Трехбуквенный код валюты в соответствии с ISO 4217.

external_id
string [ 1 .. 255 ] characters

External ID транзакции.

language
string

Язык интерфейса. Двухбуквенный код языка в нижнем регистре.

payment_method
integer >= 1

ID способа оплаты.

object
delay
integer

Задержка, по истечении которой пользователь будет автоматически перенаправлен на return URL.

redirect_button_caption
string

Локализованные надписи на кнопке редиректа.

redirect_conditions
string

Статус платежа, при котором происходит перенаправление пользователя на return URL.

Enum: "none" "successful" "successful_or_canceled" "any"
status_for_manual_redirection
string

Статус платежа, при котором появляется кнопка для возврата на return URL.

Enum: "none" "vc" "successful" "successful_or_canceled" "any"
return_url
string <uri> <= 1000 characters

Пользователь будет перенаправлен на данную страницу после совершения платежа. Параметры user_id, foreigninvoice, invoice_id и status будут автоматически добавлены к ссылке.

object

Объект с настройками интерфейса.

currency_format
string

Передайте значение code, чтобы в платежном интерфейсе отображалось трехбуквенное обозначение валюты по ISO 4217. По умолчанию вместо трехбуквенного обозначения валюты отображается значок валюты.

object

Объект с настройками интерфейса для настольной версии.

object

Объект с настройками хедера.

close_button
boolean
Default: false

Показывать ли кнопку Закрыть в платежном интерфейсе. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на адрес, указанный в параметре settings.return_url. false по умолчанию.

is_visible
boolean

Показывать ли хедер в платежном интерфейсе.

type
string
Default: "normal"

Внешний вид хедера. Может принимать значения compact (в хедере не будут показываться название игры и ID пользователя) или normal.

Enum: "compact" "normal"
visible_logo
boolean

Если true, в хедере будет отображаться ваш логотип (необходимо сначала прислать файл с логотипом аккаунт-менеджеру).

visible_name
boolean

Показывать ли в хедере название проекта.

visible_purchase
boolean
Default: true

Показывать ли в хедере описание покупки (purchase.description.value). По умолчанию true.

object
visible_virtual_currency_balance
boolean
Default: true

Должен ли этот элемент быть видимым в интерфейсе оплаты.

is_cart_open_by_default
boolean
Default: false

Отображение списка товаров в корзине при открытии мобильной версии платежного интерфейса. Если передано значение true, список отображается в развернутом виде. Если передано значение false (по умолчанию) или параметр не передан — список отображается в свернутом виде.

is_independent_windows
boolean
Default: false

Осуществляется ли переход из встроенного браузера лаунчера (WebView) во внешний браузер для совершения покупки.

is_payment_methods_list_mode
boolean
Default: false

Отображается ли список способов оплаты, доступных в стране игрока, при открытии платежного интерфейса. ​​Если передано значение false (по умолчанию), отображается способ оплаты, переданный в параметре settings.payment_method или способ, выбранный алгоритмом PayRank.

is_prevent_external_link_open
boolean
Default: false

Отключение перехода по внешним ссылкам. При нажатии на внешнюю ссылку отправляется событие external-link-open с помощью механизма postMessage. В параметре url передается адрес, по которому выполняется переход.

is_show_close_widget_warning
boolean
Default: true

Показывать ли предупреждение об обработке транзакции при наведении на значок × перед закрытием страницы оплаты. Если передано значение false или параметр не передан, предупреждение не показывается.

is_three_ds_independent_windows
boolean
Default: false

Открывать ли проверку 3-D Secure в новом окне браузера. Передайте значение true, если вы используете политику безопасности сайтов (Content Security Policy (CSP)).

layout
string

Расположение основных элементов платежного интерфейса. Вы можете открыть платежный интерфейс внутри вашей игры и/или поменять местами колонки с информацией о заказе и способах оплаты. Подробная информация представлена в инструкции по кастомизации.

Enum: "embed" "column_reverse" "embed_column_reverse"
object
object
close_button
boolean
Default: false

Показывать ли кнопку Закрыть в платежном интерфейсе. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на адрес, указанный в параметре settings.return_url.

mode
string

Платежный интерфейс в режиме Личного кабинета. Принимает значение user_account. Header содержит только навигационное меню Личного кабинета; исключается возможность выбора предмета и оплата покупки; режим Личного кабинета доступен только в desktop-режиме.

Value: "user_account"
theme
string
Default: "63295a9a2e47fab76f7708e1"

Тема платежного интерфейса. Может принимать значения 63295a9a2e47fab76f7708e1 для светлой темы (по умолчанию) или 63295aab2e47fab76f7708e3 для темной темы. Вы также можете создать собственную тему и передать ID темы в этом параметре.

Enum: "63295a9a2e47fab76f7708e1" "63295aab2e47fab76f7708e3"
object

Объект с данными об учетной записи пользователя.

object

Страница Мой аккаунт.

enable
required
boolean
Default: false

Показывать ли вкладку в меню. По умолчанию false.

order
required
integer >= 1

Расположение раздела в раскрывающемся меню в платежном интерфейсе.

object

Страница Сохраненные платежные аккаунты.

enable
required
boolean
Default: false

Показывать ли вкладку в меню. По умолчанию false.

object

Страница Управление подписками.

enable
required
boolean
Default: false

Показывать ли вкладку в меню. По умолчанию false.

order
required
integer >= 1

Расположение раздела в раскрывающемся меню в платежном интерфейсе.

Responses
200

Платежный токен и заказ успешно созданны.

401

Данные для базовой аутентификации не переданы или ошибочны. Убедитесь, что использовали базовую аутентификацию и проверьте правильность учетных данных.

422

Ошибка в теле запроса или на этапе создания корзины.

  • Нельзя наполнить корзину переданными товарами. Проверяет, что корзина не пуста и что все товары не бесплатны.
  • Неверное тело запроса.
Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "order_id": 12345,
  • "token": "huooAqbXBSJxB8Q4dYBqJp4ybiInqsPb"
}