官网链接:https://developers.weixin.qq.com/minigame/dev/tutorial/open-ability/payment.html
微信小程序可以添加支付接口,通过wx.requestMidasPayment() 接口实现
wx.
requestMidasPayment({
mode:
'game',
offerId:
'',
//支付应用id
platform:
"android",
//设备
buyQuantity:
parseInt(need_money),
//支付金额 满足buyQuantity*单价 = 实际金额
currencyType:
"CNY",
zoneId:
1,
success() {
// 支付成功
console.
log(
"支付成功");
},
fail({
errMsg,
errCode }) {
// 支付失败
console.
log(errMsg, errCode)
}
})
需要注意的是,目前小游戏虚拟支付能力只支持在安卓Android系统内使用,暂不开放苹果iOS系统内虚拟支付功能。
另外offerId是小程序的支付应用ID,管理员可以提供。buyQuantity是支付的金额,这个金额满足公式buyQuantity*单价 = 实际金额。单价可以从管理员那里拿到,假如在你的游戏中1块钱可以买10个钻石,那么单价就是0.1,所以你这里要传给微信的buyQuantity就是10。以此类推。注意微信的价格是有限制的,在官网中可以看到我们能够使用的金额。
另外,微信支付还要识别当前设备,通过wx.getSystemInfo()获得,你可以调用这个接口,在success中打印出来设备信息。通过区分操作平台来做相应的操作。我是截取了返回的system的前三个字符来确定是android还是ios的,因为它的system返回的是完整的操作系统,类似Android 6.0.0之类,而我只需要区别安卓还是ios就够了。
wx.
getSystemInfo({
success:
function(
res){
console.
log(res);
let str
= res.system[
0]
+ res.system[
1]
+ res.system[
2];
if (str
==
"And"){
todo;
}
if(str
==
"iOS"){
todo;
}
},
fail:
function(){
}
});