Xsolla-logoXsolla Developers
前往发布商帐户

创建令牌(旧)

post/merchants/{merchant_id}/token

您可以使用任意用户参数创建令牌。您在获取令牌时发送这些参数,并在支付成功后收到这些参数。令牌只能包含本文档中描述的参数或您预定义的参数。

如果发送的参数格式或类型不正确,将不会提供令牌。您将收到一个422 HTTP代码以及放在JSON正文中的错误描述。在extended_message中,您将收到具体是哪些参数不正确的信息。

SecuritybasicAuth
Request
path Parameters
merchant_id
required
integer

商户ID。

Request Body schema: application/json
object

带有购买相关数据的对象。

object
Deprecated

带有结账参数相关数据的对象。

amount
number <float>

购买金额。

currency
string

购买币种。参照ISO 4217标准的三字母货币代码。

object
Deprecated

关于购买时的折扣促销码或奖励的信息(对象)。

hidden
boolean

在支付UI中隐藏输入促销码的字段。默认为false

value
string

促销码值。

object
Deprecated

购买描述。

Array of objects
Array
description
string

购买物品的描述。

image_url
string

物品图标的链接。

is_bonus
boolean

该物品是否作为一个奖励免费提供。默认为false

name
string

物品名称。

object

包含物品价格的对象。

amount
string

物品价格。

amount_before_discount
string

折扣之前的物品价格。

quantity
integer

购买的物品数量。

value
string

在支付UI和邮件付款凭证中包含的常规购买描述。如要逐个传递物品数据,请使用purchase.description.items数组参数。

object
Deprecated

礼物详情(对象)。

Array of objects

包含好友数据的数组。

Array
email
string

收礼人邮箱。

id
string

收礼人ID。

name
string

收礼人昵称。

giver_id
string

送礼人ID。

hide_giver_from_receiver
string

是否对收礼人隐藏送礼人的身份信息。默认值为true

message
string

送礼人留言。

object
Deprecated

游戏密钥。

Array of objects

游戏密钥。

Array
digital_content
string

在发布商帐户中设置的游戏SKU。

drm
string

用于分发游戏的DRM平台。可以是steamplaystationxboxuplayorigindrmfreegogepicgamesnintendo_eshopdiscord_game_storeoculus。请确保您已在发布商帐户中配置了所需的DRM平台。如果未在令牌中传递此参数,则用户可以在支付UI中选择平台。

Enum: "steam" "playstation" "xbox" "uplay" "origin" "drmfree" "gog" "epicgames" "nintendo_eshop" "discord_game_store" "oculus"
currency
string

购买游戏密钥的币种,以此币种进行所有计算。

object

包含升级数据的对象。

id
integer

升级ID。

id_user_history
integer

包含关于用户及其套餐数据的条目ID。

object

带有订阅相关数据的对象。

available_plans
Array of strings

包含订阅套餐相关数据的数组。只有这些套餐会显示在支付用户界面中。

currency
string

购买计划的货币,以此币种进行所有计算。

operation
string

此操作的类型应用于用户订阅计划。要更改订阅计划,请传入change_plan值。需在purchase.subscription.plan_id参数中指定新计划的ID。

plan_id
string

订阅计划的外部ID。可在发布商帐户的订阅 > 订阅计划中找到。

product_id
string

产品ID。

trial_days
integer

试用期,以天为单位。

object
Deprecated

带有虚拟货币相关数据的对象。

currency
string

虚拟货币套餐的币种,以此币种进行所有计算。

quantity
number <float>

使用虚拟货币购买的数量。

object
Deprecated

带有购买的虚拟物品相关数据的对象。

currency
string

购买中虚拟物品的币种,以此币种进行所有计算。

Array of objects
Array
amount
integer

物品数量。

available_groups
Array of strings

带有物品组 ID 的数组。支付UI中将仅显示指定组的物品。

sku
string

物品ID。

object

自定义项目设置。

project_id
required
integer

游戏的艾克索拉ID。可以在发布商帐户中找到该ID。

currency
string

首选支付币种。参照ISO 4217标准的三字母货币代码。

external_id
string

游戏中的交易ID。该值对每个用户支付必须唯一。详细信息请参阅文档

language
string

界面语言。2字母(小写字母)语言代码

mode
string

设置为sandbox值以测试支付流程。请使用https://sandbox-secure.xsolla.com来访问测试支付UI。

payment_method
integer

付款方式ID。

payment_widget
string

支付小部件。可以是 paybycashgiftcard。如果参数已设置,用户将分别重定向到 Pay by Cash 或 Gift Cards 小部件。

Enum: "paybycash" "giftcard"
object

重定向政策设置(对象)。

delay
integer

延迟时间(单位为秒),经过该时间后用户将自动重定向至返回URL。

manual_redirection_action
string

由用户点击关闭按钮或返回游戏按钮触发的支付中心行为。可以是redirect(默认)或postmessage。如果设置为redirect,则用户将被重定向至令牌中传入的URL或发布商帐户中指定的URL。如果设置为postmessage,则用户留在原页面。点击关闭按钮发起发送close事件,点击返回游戏则发起发送return事件。

Enum: "redirect" "postmessage"
redirect_button_caption
string

手动重定向按钮上的文字。

redirect_conditions
string

将用户重定向至返回URL的支付状态。可以是none, successful, successful_or_canсeledany

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

显示让用户重定向至返回URL按钮的支付状态。可以是none, successful, successful_or_canсeledany

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

用户付款后重定向到的页面的URL。关于配置重定向的详细信息,请参阅文档

object

带有界面设置相关数据的对象。

object

带有对桌面版本有效的界面设置相关数据的对象。

object

带有标题设置相关数据的对象。

close_button
boolean

是否在支付UI中显示关闭按钮。该按钮将关闭支付UI并将用户重定向到settings.return_url参数中指定的URL。默认为false

close_button_icon
string

支付UI中的关闭按钮图标。

Enum: Description
arrow

支付UI页眉左侧的图标。

cross

支付UI页眉右侧的×图标。

is_visible
boolean

标题在支付UI上是否可见。

type
string

如何显示标题。不能为compact(隐藏项目名称和用户ID)或normal(默认)。

Enum: "compact" "normal"
visible_logo
boolean

如为true,Logo在标题中显示。要上传图片,请在发布商帐户中打开您的项目,然后前往支付中心 > 设置部分。

visible_name
boolean

标题中是否显示项目名称。

visible_purchase
boolean

是否在标题中显示购买描述(purchase.description.value)。默认为true

object
visible_virtual_currency_balance
boolean

此元素是否可在支付UI上隐藏。默认为true

is_independent_windows
boolean

是否将用户从嵌入式启动器浏览器(WebView)跳转到其默认的浏览器来进行购买。默认为false

is_prevent_external_link_open
boolean

是否禁用将链接重定向至外部资源。默认为false。点击外部链接时,将通过postMessage机制发送external-link-open事件。重定向链接的地址在url参数中传递。

license_url
string

EULA的链接。

object
object
is_visible
boolean

是否在移动版本的支付UI中隐藏或显示脚注。

object
close_button
boolean

是否在支付中心移动端显示关闭按钮。该按钮将关闭支付中心并将用户重定向到settings.return_url参数中指定的URL。默认为false

mode
string

支付中心的界面模式。可能的值为user_account。请注意,页眉仅包含用户帐户的导航菜单,而没有用于选择产品或进行付款的任何选项。“用户帐户”仅在桌面模式下可用。

size
string

支付UI的大小。此参数可拥有以下值之一,具体取决于支付UI的所需大小:

  • small:支付UI支持的最小尺寸。当窗口大小严格受限时,请使用此值(尺寸:620 x 630)
  • medium:支付UI的推荐大小。使用此值可以在灯箱中显示支付UI(尺寸:740 x 760)
  • large:在新窗口或者选项卡中显示支付UI的最佳大小(尺寸:820 x 840)
Enum: "small" "medium" "large"
theme
string

支付UI的外观主题。可以是default(默认值)或default_dark

Enum: "default" "default_dark"
object

对象以及有关用户账号的数据。

object

我的账户页面。

enable
boolean

是否显示该部分。默认为false

order
integer

该部分在下拉列表中的位置。

object

我的支付帐户部分。

enable
boolean

指定是否在支付UI的下拉列表中显示该部分。默认为true。如未传入此参数,则显示该部分。

order
integer

该部分在支付UI下拉列表中的位置。

object

管理订阅部分。

enable
boolean

是否显示该部分。默认为false

order
integer

该部分在下拉列表中的位置。

version
string

设备的类型。可以是desktop(默认值)或mobile

Enum: "desktop" "mobile"
object

带用户相关数据的对象。

required
object
value
required
string

存储在己侧的游戏内唯一用户ID。请确保传入现有用户ID。如遇到错误,请参阅常见问题回答

age
integer

用户年龄。

attributes
object

带有用户属性相关数据的对象,用于筛选物品列表。应当是带键值对的有效JSON哈希。

object
allow_modify
boolean

用户是否可以更改支付UI上的国家/地区。如果令牌中传入了country.value值,则值默认为false

value
string

使用ISO 3166-1 alpha-2标准规定的2字母组合表示国家/地区。

object <= 100 characters

user.email对象是反欺诈模型的必要部分,有助于提高接受率。同时它也是艾克索拉和支付系统的要求。如果未传入该参数,支付页面将显示输入邮箱必填字段。购买凭证将发送至在该参数中传入的或在支付页面上输入的邮箱地址。

value
required
string

用户电子邮箱。必须符合RFC 822协议标准。

allow_modify
boolean

用户是否可在支付UI中输入其邮箱。如令牌中传入了user.email.value参数,该值默认为false

is_legal
boolean

用户是否为法律实体。

object

包含法律实体详细信息的对象。如果user.is_legaltrue,则对象及其所有参数为必需。

address
string

完整法定地址。

country
string

公司所在国家/地区。参照ISO 3166-1 alpha-2标准的两个大写字母表示的国家/地区代码。

name
string

完整法定名称。

vat_id
string

个人纳税人识别号。

object
allow_modify
boolean

用户是否可在支付UI中输入其名字。如令牌中传入了user.name.value参数,该值默认为false

value
string

用户昵称。

object or null
value
string

电话号码。

object
value
string

唯一识别用户并为用户所熟知的参数,与用户ID(电子邮件、昵称等)不同。此参数在可以在游戏商店以外进行购买时使用(如现金售货亭中的游戏按键)。

object
value
string

Steam ID。

object
value
string = 32 characters

唯一用户ID — 用于营销活动。可包含数字和英文字符。

object

对象包含描述流量特性的数据。

utm_campaign
string

活动标题。该参数应当包含直译的活动标题或者翻译为英文的活动标题。

utm_content
string

该活动的实质。

utm_medium
string

流量渠道(内容关联广告、媒体广告、邮件列表消息)。

utm_source
string

流量来源。

utm_term
string

活动关键词。在指定该参数的情况下,统计数据是基于在确定您的广告活动的目标对象过程中所使用的关键词数据而生成的,而不是基于检索项数据。在Google Analytics中,utm_term标签的内容成为包含检索项的综合报告中的一部分。

Responses
200

Created.

422

Unprocessable Entity.

Request samples
application/json
{
  • "purchase": {
    },
  • "settings": {
    },
  • "user": {
    }
}
Response samples
application/json
{
  • "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT"
}