支付
业务场景
游戏内购买商品、月卡等游戏资源的时候需要调用本支付接口。用户支付成功后,由 SDK 服务端通知 CP 服务端进行发货处理。
流程图
接口介绍
SDKManager.pay(OrderInfo orderInfo)
调用示例
var orderInfo = {
amount: '1', // 充值金额 单位元
productId: '100', //道具id
productName: '测试道具', //道具名称
productCount: 10, // 购买道具数量,如:100、1等等
orderNo: 'XXXXXXXXXXX',
sign: 'XXXXXXXXXXXXXXXX',
roleInfo: {
serverId: '600', //登录所属的服务器Id
serverName: '600', //登录所属的服务器名称
roleId: '100', //角色Id
roleName: '100', //角色名称
roleLevel: '100', //角色等级
},
extend: new Date().getTime().toString(),
onSuccess: () => {
//支付成功
},
onFailed: (errorInfo) => {
// 支付失败
// 游戏提示玩家支付失败,让玩家自行重试
},
};
SDKManager.pay(orderInfo);
参数说明
入参:OrderInfo orderInfo
参数名称 | 类型 | 说明 | 必传/可选 |
---|---|---|---|
amount | String | 价格,单位:元(小游戏中,受平台限制,只能支付规定的价格) | 必传 |
orderNo | String | CP 订单号,与服务端接入文档-支付回调中的"orderNo"对应,100 字符内,不能为空 | 必传 |
productId | String | CP 商品 Id | 必传 |
productName | String | 游戏道具名称,如元宝/月卡/钻石等 | 必传 |
productCount | long | 商品数量(小游戏中按比例处理,例如:比例是 1:10 ,比如金额 1 元,数量就是 10(钻石或元宝)) | 必传 |
roleInfo | RoleInfo | 角色信息 | 必传 |
sign | String | 支付验签参数,具体规则请查看服务端接入文档-下单签名 | 必传 |
extend | String | 自定义扩展字段(透传),与服务端接入文档-支付回调中的"extend"对应,100 字符内,不能为空 | 必传 |
currency | String | 当前使用币种,如: USD | 可选 |
taskNum | Number | 小游戏使用的标识,默认传 0,如果需要使用,SDK 侧运营会强调说明 | 可选 |
extstr | String | 支付额外参数 json 串,如无特殊说明,可不传 | 可选 |
错误码
暂无说明
FAQ
Q: 能不能根据支付完成回调判断用户已支付?
A: 不能,不是所有平台的支付流程都一致,例如跳转客服支付,离开小游戏后,不能判断用户是否真实支付了。
Q: 支付验签失败
A: 注意服务端验签规则,平台类型选择 H5,可自行使用在线验签工具检测一遍
