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
free_method_count
integer [ 1 .. 16 ]

Количество способов бесплатной доставки.

limit_method_count
integer [ 0 .. 16 ]

Количество отображаемых способов доставки.

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

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

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.

mode
string

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

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

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

Enum: "63295a9a2e47fab76f7708e1" "63295aab2e47fab76f7708e3"
object

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

object
Default: "Page **My account**."
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"
}