服务器侧集成

此集成类型适用于已在自己的服务器上实现了用户授权、游戏内商店和玩家物品库游戏逻辑,但希望使用艾克索拉支付中心的合作伙伴。您需要获取支付中心访问令牌并配置Webhook的处理。

服务器集成过程实现以下支付处理逻辑:

  1. 客户端向应用程序服务器发送请求以打开支付界面。
  2. 应用程序服务器向艾克索拉服务器发送支付货币与金额的信息。
  3. 艾克索拉服务器返回包含购买详情和支付中心参数的令牌。
  4. 应用程序服务器将收到的令牌发送给客户端。
  5. 客户端使用SDK在浏览器中打开支付中心。
  6. 支付所购商品后,将向应用程序服务器发送一个包含支付状态的Webhook。

集成过程

要使用Game Commerce资源将艾克索拉产品与您的服务器集成:

  1. 安装该资源
  2. 在您的发布商帐户中设置项目
  3. 在您的服务器上设置游戏内商店和产品目录。
  4. 设置您的Unity项目
  5. 获取令牌
  6. 打开支付UI
  7. 设置Webhook处理

完成集成后,可测试支付流程

联系我们的集成团队
单击右下角的聊天图标通过即时通讯工具联系集成团队。我们将实时回复您并帮助您解决问题。
注:
本指南介绍快速使用该模块所需的最低设置。如有任何问题,请联系您的帐户经理。

安装资源

注:
通过CDN只能下载最新版本的SDK。如需要其他版本,可从GitHub下载。
  1. 下载Unity
  2. 根据需要选择个人版或专业版Unity许可证。
  3. 新建一个Unity项目。
  4. 下载资源
  5. 解压缩文件包。
  6. 在Unity编辑器的主菜单中,前往Assets > Import Package > Custom Package,然后选择该资源。
  7. 请确保使用Mono编译器创建游戏编译版本(仅适用于独立编译版本)。方法是:
    1. 在主菜单中单击Edit > Project Settings
    2. 前往Other Settings > Configuration部分。
    3. 确保Scripting Backend字段中选择了Mono

安装资源后,从Assets > Xsolla > DemoCommon > Scene目录中启动Xsollus演示场景。演示场景展示了该资源的功能,并提供应用程序逻辑的一种可能实现方式。

对于演示场景,发布商帐户中预置了一个项目,且游戏内商店已完整配置。

Xsollus演示场景的默认值:

KeyValue
登录管理器ID026201e3-7e40-11ea-a85b-42010aa80004
项目ID77640

演示场景有两种用途:

  • 作为示例
  • 作为登录系统、物品库和游戏内商店的初始版本,以便快速进行试用并根据需要扩展其功能

要在应用程序中使用演示场景或其中的组件,请在编译版本设置中进行添加:

  1. 前往Assets > Xsolla > DemoCommon > Scene并启动Xsollus场景。
  2. 打开File > Build settings,然后单击Add Open Scenes

在发布商帐户中创建项目

  1. 注册发布商帐户
  2. 配置您的项目:
    1. 要自动填入游戏数据,请提供游戏在任意平台上的链接。游戏图片、名称和描述将根据链接内容填入项目设置。
    2. 要手动填入游戏数据,请单击我没有链接,需要手动设置,然后指定:
      • 项目语言(默认设置为英文)
      • 所有指定语言下的项目名称
      • 游戏网站(选填)
    3. 单击创建项目

集成过程需要用到以下参数:

  • 商户ID,可在项目设置 > Webhooks中找到。

  • API密钥,可在公司设置 > API密钥部分找到。
  • 在发布商帐户中项目名称旁边找到的项目ID
  • 密钥,可在项目设置 > Webhooks部分找到。

设置Unity项目

  1. 打开您的Unity项目。
  2. 在主菜单中单击Window > Xsolla > Edit Settings
  3. 要启用沙盒模式,在Inspector面板中勾选Enable sandbox?复选框。
  1. 为登录系统、游戏内商店及应用程序的其他页面设计界面。您可以按照Unity说明中的信息创建自己的解决方案。
  2. 根据您的应用程序逻辑使用SDK方法设置事件处理。

获取令牌

要获取令牌,请使用Create payment token by server API调用。您的服务器应向艾克索拉服务器发送包含以下数据的请求:

  • 购买者的用户ID
  • 支付金额
  • 支付货币
  • 购买详情(可选)
  • 支付中心参数(可选)

可通过以下方式之一传入购买信息:

  • 以商品列表形式(通过item参数)
  • 以购买描述形式(通过description参数)

支付中心参数(例如本地化语言、界面属性、主题等)在settings对象中传入。要启用/禁用沙盒模式,需在接收令牌请求中更改sandbox参数的值,并更改SDK设置。要更改其余支付中心界面设置,需更改令牌请求的参数。

注:
可使用custom_parameters参数传入额外信息。该信息也将传入配置的Webhook中。

打开支付UI

要打开支付UI,请将上一步中获得的令牌传入OpenPurchaseUi SDK方法。

设置Webhook

  1. 发布商帐户中前往您的项目。
  2. 前往项目设置 > Webhooks,指定Webhook URL,然后生成用于给项目Webhook签名的密钥。
  1. 保存设置。
  2. 为支付中心实现以下Webhook:
  1. 前往结账选项卡,然后单击连接
  1. 测试Webhook处理程序。
注:
要确认收到Webhook,您的服务器必须作出如下响应:
  • 不带消息正文的HTTP代码204
  • 描述问题的HTTP代码400(如果指定用户未找到或传入的签名无效)
关于Webhook的详细信息及示例,请参阅API参考
  1. 在侧边栏中单击支付中心,然后前往设置
  2. 结账开关设置为
  1. 单击保存

测试支付流程

成功配置资源后,请测试支付流程。默认情况下,所有用户的支付均在沙盒模式下进行,可使用测试银行卡来模拟成功的支付过程。

要通过真实付款测试支付流程:

  1. 确保已签署与艾克索拉的协议。
  2. 在Unity项目中,取消勾选Inspector面板中的Enable sandbox?复选框。
  3. 在令牌请求中将sandbox参数设置为false

本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
上次更新时间: 2024年1月22日

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

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