Xsolla-logo
  • 文档
  • 创建帐户

为购买创建支付令牌Server-side

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

为其生成订单和支付令牌。订单根据请求正文中传递的商品生成。

注意

user.country.value参数用于选择订单的货币。如果用户的国家/地区未知, 请在X-User-Ip头中提供用户的IP作为替代方案。
必须至少提供两者中的一个此方法才能正常工作。
所选货币用于支付中心中的付款方式。
SecuritybasicAuth
Request
path Parameters
project_id
required
integer

项目编号。您可以在您的发布商帐户项目名称旁边。

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

用户身份。对于测试,您可以传递任意。如要接受真实付款,需使用您系统中的用户ID值。该ID在用户验证Webhook中传递。

age
integer

用户年龄。

attributes
object [ 1 .. 100 ] items

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

object
allow_modify
boolean
Default: false

用户是否可以在支付UI中更改国家/地区。

value
string

ISO 3166-1 alpha-2标准下的两个大写字母的国家/地区代码。如未在X-User-Ip头中传入IP地址,则此属性为必需。请查看文档详细了解艾克索拉支持的国家/地区
示例:country=US

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

用户邮箱。必须符合RFC 822协议。

is_legal
boolean

用户是否为法律实体。

object

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

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

用户是否可以在支付UI中更改手机号。如果令牌中传入了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}$

唯一的跟踪ID(用于营销活动)。

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。 SKU只能包含小写英文字母和数字字符、句点、破折号和下划线。

quantity
required
number >= 1

商品的数量。

object or null [ 1 .. 200 ] properties

自定义参数的形式是一组有效的JSON键值对。
您可以通过此字段传入补充参数来配置反欺诈筛选条件。 请参阅支付中心文档

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

设置为true以测试付款流程。在这种情况下,请使用https://sandbox-secure.xsolla.com访问测试支付UI。

object

为用户配置支付流程和支付UI的设置。

currency
string

首选购买货币。ISO 4217标准下的三个字母的货币代码。请查看文档详细了解艾克索拉支持的货币

external_id
string [ 1 .. 255 ] characters

交易外部ID。

language
string

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

payment_method
integer >= 1

付款方式ID。

object
delay
integer

经过指定延迟时间后自动将用户重定向到返回URL。

redirect_button_caption
string

本地化的重定向按钮文字。

redirect_conditions
string

触发将用户重定向到返回URL的支付状态。

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

触发显示重定向按钮的支付状态,用户单击该按钮后将被重定向到返回URL。

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

用户会在支付过后被重定向到此页面。参数user_idforeigninvoiceinvoice_idstatus会被自动添加到此链接。

object

界面设置。

currency_format
string

设置为code以在支付UI中显示三字母的ISO 4217货币代码。默认显示货币符号而不是三字母货币代码。

object

桌面版本的界面设置。

object

页眉设置。

close_button
boolean
Default: false

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

is_visible
boolean

页眉在支付UI上是否可见。

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

此元素是否可在支付UI上隐藏。

is_cart_open_by_default
boolean
Default: false

打开支付UI移动版本时购物车商品列表的显示方式。如为true,列表以扩展视图显示。如为false(默认)或未传入此参数,列表以折叠视图显示。

is_independent_windows
boolean
Default: false

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

is_payment_methods_list_mode
boolean
Default: false

打开支付UI时是否显示在该用户所在国家/地区可用的支付方式。如为false(默认),将显示在settings.payment_method参数中传入的支付方式或PayRank算法选择的支付方式。

is_prevent_external_link_open
boolean
Default: false

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

is_show_close_widget_warning
boolean
Default: true

关闭支付页面前鼠标悬停在×图标时是否显示交易正在处理中的警告。如传入false,或未传入参数,则不显示警告。

is_three_ds_independent_windows
boolean
Default: false

是否在新浏览器窗口中打开3-D Secure检查。如使用内容安全政策(CSP),请传入true

layout
string

支付UI主要元素的位置。您可以在游戏内打开支付UI和/或交换订单信息和支付方式信息列的位置。详细信息请参阅自定义说明

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

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

mode
string

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

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

支付UI主题。可以是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"
}