快速指南

集成过程

要集成付款解决方案:

  1. 发布商帐户中创建项目。一个项目对应一个游戏。如有多个游戏,请为每个游戏各创建一个项目。
  2. 将要销售的商品添加到艾克索拉侧的目录
  3. 测试创建模拟用户要支付的订单
  4. 进行测试性购买并设置通知
  5. 在发布商帐户中签署与艾克索拉的协议以开始处理真实支付

注:
您可以在集成的任意阶段签署许可协议,但请知晓审核过程最长可能需要3个工作日。

创建目录

虚拟物品是用户可使用真实或虚拟货币购买的游戏内内容。在艾克索拉侧创建虚拟物品目录可以自定义区域价格和限制,还可以使用艾克索拉的促销活动系统及定期增加和更新的其他功能。

创建虚拟物品

获取物品列表

要获取物品列表,请调用获取虚拟物品列表API方法:

  • 在请求头中,请传入默认用于授权的艾克索拉登录管理器JWT(持有者令牌)。要测试该API方法的调用,可使用以下测试令牌:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5NjIyMzQwNDgsImlzcyI6Imh0dHBzOi8vbG9naW4ueHNvbGxhLmNvbSIsImlhdCI6MTU2MjE0NzY0OCwidXNlcm5hbWUiOiJ4c29sbGEiLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6IjA2SWF2ZHpDeEVHbm5aMTlpLUc5TmMxVWFfTWFZOXhTR3ZEVEY4OFE3RnMiLCJzdWIiOiJkMzQyZGFkMi05ZDU5LTExZTktYTM4NC00MjAxMGFhODAwM2YiLCJlbWFpbCI6InN1cHBvcnRAeHNvbGxhLmNvbSIsInR5cGUiOiJ4c29sbGFfbG9naW4iLCJ4c29sbGFfbG9naW5fcHJvamVjdF9pZCI6ImU2ZGZhYWM2LTc4YTgtMTFlOS05MjQ0LTQyMDEwYWE4MDAwNCIsInB1Ymxpc2hlcl9pZCI6MTU5MjR9.GCrW42OguZbLZTaoixCZgAeNLGH2xCeJHxl8u8Xn2aI
  • project_id路径参数中,请传入可在发布商帐户中找到的项目ID:

在响应中,您将收到项目中创建的虚拟物品的详细信息。后续订单创建中您需要该物品的SKU来传入items.sku参数。

创建订单

订单由用户要在商店中购买的商品组成。支付订单后,用户将收到商品。要进行支付,用户必须授权登入游戏。

选择游戏适合的集成方式,然后查看相应的设置说明。

特点服务器侧客户端侧
有服务器您需要有自己的服务器来获取令牌及控制服务器上的负载。您无需自己有服务器。
决定用户的国家/地区您需要在支付令牌中传入国家/地区或IP地址。这会影响可用的支付方式。艾克索拉根据IP地址决定用户的国家/地区。
决定支付货币如未在令牌中传入货币,则由国家/地区决定。
如在令牌中传入了货币,则用户用该货币进行支付。
货币由国家/地区决定。

进行测试性购买

注:
测试不需要从真实银行账户中扣款,您可以使用我们的测试银行卡进行。
注意
与艾克索拉签订合约之前,测试支付过程仅在沙盒模式下可用。

在沙盒模式下打开支付UI

要在新窗口中打开支付UI,请使用以下URL:https://sandbox-secure.xsolla.com/paystation4/?token=TOKEN,其中TOKEN创建订单时获得的令牌。

要使用其他方法打开支付UI,请参阅文档

进行测试性支付

  1. 在沙盒模式下打开支付UI
  2. 选择银行卡付款方式。
  3. 输入银行卡详细信息。对于其他字段(如名称或地址),可输入任意数据。您也可以指定不正确的细节(卡号或到期日)以测试是否会产生错误。
  4. 单击支付
测试银行卡列表
查看测试银行卡列表。
注:
邮政编码信息

如符合以下条件之一,除卡片详细信息外,还需指定邮政编码:

  • 用户所在国家是美国或加拿大。
  • 发卡行识别码(BIN)显示该卡的发行地在美国。

您可以指定任意有效的邮政编码(如12345)。该信息用于决定销售税税率,不影响测试付款过程。
沙盒模式下的银行卡付款支持以下货币:USD、EUR、RUB、GBP、AED、ALL、AMD、ARS、AUD、AZN、BGN、BRL、BYN、CAD、CHF、CLP、CNY、COP、CZK、DKK、DZD、EGP、GEL、HKD、HRK、HUF、IDR、ILS、INR、ISK、JPY、KES、KGS、KRW、KZT、MAD、MDL、MKD、MNT、MXN、MYR、NGN、PEN、PHP、PKR、PLN、RON、RSD、SAR、SEK、SGD、THB、TRY、TWD、UAH、UYU、UZS、VEF、VND、ZAR。

注意
在沙盒模式下,您可以使用银行卡PayPal测试一次性付款和通过保存的支付方式付款。

设置Webhook

如在服务器侧设置集成,需通过在对Webhook的响应中发送相应代码来验证创建的订单。如在服务器侧设置集成,可通过Webhook来接收已配置事件的通知(如支付状态更改等)。

要启用Webhook接收:

  1. 发布商帐户中打开您的项目。
  2. 在侧边栏中单击项目设置,然后前往Webhooks选项卡。
  3. Webhook服务器字段中指定要接收Webhook的服务器URL,格式为https://example.com。您也可以指定在工具中找到的URL来用于测试。
  4. 默认会生成一个用于项目Webhook签名的密钥。如要生成新密钥,请点击刷新图标。
  5. 单击启用Webhook

PHP SDK
使用现成的类来处理Webhook。
注:
要测试Webhook,您可以选择任意专门网站(如webhook.site)或平台(如ngrok)。
要接收用户验证和成功支付的通知,请配置以下Webhook:
  • 用户验证 — 通知确认用户已在游戏中注册。
  • 支付 — 通知用户已付款。
注:
关于设置和测试Webhook的详细信息,请参阅文档

配置Webhook监听器

Webhook监听器是一个程序代码,可以在指定的URL地址接收传入的Webhook、生成签名及向艾克索拉Webhook服务器发送响应
生成签名及向Webhook发送响应的信息

生成签名

接收Webhook时,应确保数据传输的安全性。为此,必须从Webhook数据生成一个签名并确保它与HTTP请求头中发送的签名匹配。 要生成签名:
  1. 将请求正文中的JSON与项目密钥串联起来。
  2. 对第一步中得到的字符串应用SHA-1加密散列函数。

向Webhook发送响应

要确认收到Webhook,您的服务器必须返回:
  • 200201204 HTTP代码(成功响应时)。
  • 问题描述400 HTTP代码(如未找到指定用户或传入的签名无效)。
如您的服务器发生临时问题,您的Webhook处理程序也可以返回5xx代码。 如果未收到对订单成功支付订单取消Webhook的响应,或收到了包含5xx代码的响应,将根据以下规则重新发送Webhook:
  • 间隔5分钟尝试2次
  • 间隔15分钟尝试7次
  • 间隔60分钟尝试10次
自首次尝试起,12小时内最多尝试发送Webhook20次。 如果未收到对支付Webhook的响应或收到了包含5xx代码的响应,也将尝试重新发送Webhook且重试的间隔逐渐拉长。12小时内最多尝试12次。 如果未收到对用户验证Webhook的响应或收到了包含4005xx代码的响应,将不会重新发送用户验证Webhook。 该情况下会向用户显示一个错误,且不会发送支付订单成功支付Webhook。

发布

注意
签署许可协议之前,只能以沙盒模式打开支付UI。

签署许可协议

签署许可协议后即可通过艾克索拉支持的付款方式接收真实付款。要签署许可协议:

  1. 打开您的发布商帐户
  2. 在侧边栏中,前往协议与税务信息 > 协议部分。
  3. 许可协议选项卡中单击填写申请表
  4. 在相应字段中提供您的信息。

您的申请将在3个工作日内进行审核。如在审核过程中有任何问题,艾克索拉将联系申请中所写的联系人。艾克索拉侧的审核程序完成后,您的协议状态将更改为已签署

切换到生产环境

注意
首次完成真实付款后,严格沙盒付款政策即生效。在沙盒模式下进行支付仅适用于发布商帐户公司设置 > 用户部分中指定的用户。
完成前面的步骤后,即可开始接收真实付款:
  1. 请确保已签署艾克索拉许可协议
  2. 删除获取令牌时请求正文中的“sandbox”: true参数。
  3. 通过以下链接打开支付UI:https://secure.xsolla.com/paystation4/?token=TOKEN
注:
本指南介绍快速开始集成所需的最低设置。如有任何问题,请通过页面右下角的艾克索拉聊天与我们联系,或发送邮件至csm@xsolla.com联系客户成功经理。
本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
为此页面评分
为此页面评分
我们还有其他可改进之处吗?

不想回答

感谢您的反馈!
上次更新时间: 2024年3月18日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!