用户发起商品购买监听
业务场景
监听用户发起商品购买的回调,用来处理不同渠道侧推送给用户礼包后,用户点击了购买之后,CP 侧需要在回调里面发起支付流程。
适用范围:微信 | 抖音
流程图
无
接口介绍
SDKManager.onBuyProduct(function listener)
调用示例
// 用户点击商品购买的监听
const onBuyProductCallback = (result) => {
if (result.payType === 4) {
const { amount, productId, productName } = result.data;
// 服务端下单...to do somethings
// 客户端下单
SDKManager.pay({
amount: amount, // 充值金额 单位:分
productId: productId, // CP商品ID,在联运后台配置后下发回来
productName: productName, //道具名称
productCount: 1, // 按照之前约定那样写即可
orderNo: 'XXXXXXXXXXX',
sign: 'XXXXXXXXXXXXXXXX',
extstr: JSON.stringify(result), // 回传结果
roleInfo: {
serverId: '600', //登录所属的服务器Id
serverName: '600', //登录所属的服务器名称
roleId: '100', //角色Id
roleName: '100', //角色名称
roleLevel: '100', //角色等级
},
extend: new Date().getTime().toString(),
onSuccess: (res) => {
//支付成功
},
onFailed: (errorInfo) => {
// 支付失败
},
});
}
};
SDKManager.canIUse('onBuyProduct') && SDKManager.onBuyProduct(onBuyProductCallback);
参数说明
入参
BuyProductInfo buyInfo
参数名称 | 类型 | 说明 | 最低版本 |
---|---|---|---|
payType | int | 支付类型,回传给支付 API 即可 | |
data | BuyProductDataInfo | 需要支付的商品信息 |
int payType
枚举值 | 说明 |
---|---|
1 | 虚拟支付(默认) |
2 | 小额/直接支付【抖音】 |
3 | 礼包支付【抖音】 |
4 | 商业组件【微信】 |
BuyProductDataInfo data
参数名称 | 类型 | 说明 | 最低版本 |
---|---|---|---|
amount | int | 价格,单位:分 | |
productId | string | CP 商品 ID | |
productName | string | 商品名 | |
giftId | string | 礼包 ID(礼包支付的时候返回) |
错误码
无
FAQ
Q: 微信小游戏会在什么情况下触发该回调?
A: 目前仅商业组件的购买会触发,即payType=4