服务器侧集成
此集成类型适用于已在自己的服务器上实现了用户授权、游戏内商店和玩家物品库游戏逻辑,但希望使用艾克索拉支付中心的合作伙伴。您需要获取支付中心访问令牌并配置Webhook的处理。
服务器集成过程实现以下支付处理逻辑:
- 客户端向应用程序服务器发送请求以打开支付界面。
- 应用程序服务器向艾克索拉服务器发送支付货币与金额的信息。
- 艾克索拉服务器返回包含购买详情和支付中心参数的令牌。
- 应用程序服务器将收到的令牌发送给客户端。
- 客户端使用SDK在浏览器中打开支付中心。
- 支付所购商品后,将向应用程序服务器发送一个包含支付状态的Webhook。
集成过程
要使用Game Commerce资源将艾克索拉产品与您的服务器集成:
- 安装该资源。
- 在您的发布商帐户中设置项目。
- 在您的服务器上设置游戏内商店和产品目录。
- 设置您的Unity项目。
- 获取令牌。
- 打开支付UI。
- 设置Webhook处理。
完成集成后,可测试支付流程。
安装资源
- 下载Unity。
- 根据需要选择个人版或专业版Unity许可证。
- 新建一个Unity项目。
- 下载资源。
- 解压缩文件包。
- 在Unity编辑器的主菜单中,前往
Assets > Import Package > Custom Package ,然后选择该资源。 - 请确保使用Mono编译器创建游戏编译版本(仅适用于独立编译版本)。方法是:
- 在主菜单中单击
Edit > Project Settings 。 - 前往
Other Settings > Configuration 部分。 - 确保
Scripting Backend 字段中选择了Mono 。
- 在主菜单中单击
安装资源后,从
对于演示场景,发布商帐户中预置了一个项目,且游戏内商店已完整配置。
Key | Value |
---|---|
登录管理器ID | 026201e3-7e40-11ea-a85b-42010aa80004 |
项目ID | 77640 |
演示场景有两种用途:
- 作为示例
- 作为登录系统、物品库和游戏内商店的初始版本,以便快速进行试用并根据需要扩展其功能
要在应用程序中使用演示场景或其中的组件,请在编译版本设置中进行添加:
- 前往
Assets > Xsolla > DemoCommon > Scene 并启动Xsollus 场景。 - 打开
File > Build settings ,然后单击Add Open Scenes 。
在发布商帐户中创建项目
- 注册发布商帐户。
- 配置您的项目:
- 要自动填入游戏数据,请提供游戏在任意平台上的链接。游戏图片、名称和描述将根据链接内容填入项目设置。
- 要手动填入游戏数据,请单击我没有链接,需要手动设置,然后指定:
- 项目语言(默认设置为英文)
- 所有指定语言下的项目名称
- 游戏网站(选填)
- 单击创建项目。
集成过程需要用到以下参数:
- 商户ID,可在项目设置 > Webhooks中找到。
- API密钥,可在公司设置 > API密钥部分找到。
- 在发布商帐户中项目名称旁边找到的项目ID。
- 密钥,可在项目设置 > Webhooks部分找到。
设置Unity项目
- 打开您的Unity项目。
- 在主菜单中单击
Window > Xsolla > Edit Settings 。 - 要启用沙盒模式,在
Inspector 面板中勾选Enable sandbox? 复选框。
获取令牌
要获取令牌,请使用
- 购买者的用户ID
- 支付金额
- 支付货币
- 购买详情(可选)
- 支付中心参数(可选)
可通过以下方式之一传入购买信息:
- 以商品列表形式(通过
item
参数) - 以购买描述形式(通过
description
参数)
支付中心参数(例如本地化语言、界面属性、主题等)在settings
对象中传入。要启用/禁用沙盒模式,需在接收令牌请求中更改sandbox
参数的值,并更改SDK设置。要更改其余支付中心界面设置,需更改令牌请求的参数。
custom_parameters
参数传入额外信息。该信息也将传入配置的Webhook中。打开支付UI
要打开支付UI,请将上一步中获得的令牌传入OpenPurchaseUi
SDK方法。
设置Webhook
- 在发布商帐户中前往您的项目。
- 前往项目设置 > Webhooks,指定Webhook URL,然后生成用于给项目Webhook签名的密钥。
- 前往结账选项卡,然后单击连接。
- 测试Webhook处理程序。
- 不带消息正文的HTTP代码204
- 描述问题的HTTP代码400(如果指定用户未找到或传入的签名无效)
- 在侧边栏中单击支付中心,然后前往设置。
- 将结账开关设置为开。
- 单击保存。
测试支付流程
成功配置资源后,请测试支付流程。默认情况下,所有用户的支付均在沙盒模式下进行,可使用测试银行卡来模拟成功的支付过程。
要通过真实付款测试支付流程:
- 确保已签署与艾克索拉的协议。
- 在Unity项目中,取消勾选
Inspector 面板中的Enable sandbox? 复选框。 - 在令牌请求中将
sandbox
参数设置为false
。
发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。