内购
鉴权方式
本章节内容使用的鉴权方式为 接口鉴权
,请确认这是您想要的鉴权方式,详见选择鉴权方式。
一、后端对接
请完成后端内购支付的接入,在后端实现对应接口后,再执行下一步操作。
未实现后端接口就进行页面对接,可能会触发平台服务器的告警。
二、前端对接
导入 SDK
请先确保已经导入 SDK,再执行下一步操作。
SDK 方法名称
superPay
调用示例
XL_GAME.callApp(
'superPay',
{
cpOrderId: '123456',
gameId: '2222',
productName: '元宝',
price: 100,
server_id: '123',
role_id: '456',
// 由于 role_name(角色名称)需要作为 URL 参数传输,而游戏的角色名称可能存在特殊字符(这与游戏对角色名称的规范有关),
// 故需对该参数值进行 URL 编码,在 JavaScript 中就是调用 encodeURIComponent
// 在本示例,编码后的值为 %E6%88%91%E6%98%AF%E8%A7%92%E8%89%B2%E5%90%8D%E7%A7%B0
role_name: encodeURIComponent('我是角色名称');
// 下面是游戏方传入的自定义字段,会透传到后端回调
// 仅供示意,这些字段不是必需的
cp_custom_key1: '我是游戏方提供的自定义字段,会透传到后端回调,这个字段不是必需的',
cp_custom_key2: 123456789
...
},
(res) => console.log(res),
);
调用参数说明
参数 | 类型 | 必选 | 说明 |
---|---|---|---|
cpOrderId | string | 是 | 游戏方的订单号 |
gameId | string | 是 | 平台的游戏 ID |
productName | string | 是 | 商品名称 |
price | number | 是 | 商品价格,单位“分”(由于使用了“接口鉴权”,此字段值实际意义不大,实际通过后端接口获取价格,但仍建议写上) |
server_id | string | 是 | 区服 ID |
role_id | string | 是 | 角色 ID |
role_name | string | 是 | 角色名称,由于角色名称可能存在特殊字符,此值需经过 UTF-8 编码转义,比如 JavaScript 语言的 encodeURIComponent ,C# 语言的 WebUtility.UrlEncode |
其它字段 | string / number | 否 | 其它自定义字段,回调游戏方接口时数据会写到 ext2 参数里面,参数不宜过多过长,数据不宜为嵌套的 JSON 格式(由于平台侧下单时会二次 encode,使用复杂的 JSON 数据可能会导致游戏方发货失败) |
回调返回参数说明
支付回调的返回参数是一个对象,各参数语义说明如下:
参数 | 说明 |
---|---|
errorCode | 错误码。errorCode = 0 为支付成功,其它均为失败 |
errorMsg | 错误信息 |
payment | 支付方式,可选值:alipay weixin |
orderId | 订单 ID |