本篇文章小编给大家分享一下h5移动端调用支付宝与微信支付的实现代码,代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
代码如下
var aliChannel = null;
var wxChannel = null;
// 定义支付方式切换
var state_type = 1;
// 选择支付方式 默认为支付宝样式
$(".zfb").find("i").css("background-Image","url(../img/pl_8.png)");
$(".pay").on("singleTap",".pay_c",function(){
$(this).find("i").css("background-Image","url(../img/pl_8.png)");
$(this).siblings().find("i").css("background-Image","url(../img/pl_9.png)");
if($(this).find("span").text().trim() == "支付宝"){
state_type = 1;
}else if($(this).find("span").text().trim() == "微信"){
state_type = 2;
}
})
// 点击支付
$('.pay_btn').unbind();
$('.pay_btn').singleTap(function () {
if(state_type == 1){
// 支付宝通道
mui.plusReady(function () { // 获取支付通道
plus.payment.getChannels(function (channels) {
for (var i in channels) {
if (channels[i].id == "wxpay") {
wxChannel = channels[i];
} else {
aliChannel = channels[i];
}
}
}, function (e) {
alert("获取支付通道失败:" + e.message);
});
})
mui.post('此处填写支付接口', {
'此处填写所需参数'
},
function (data) {
console.log(JSON.stringify(data));
if (data) {
data = data.data.payStr;
plus.payment.request(aliChannel, data, function (result) {
// 支付成功处理
}, function (e) {
floatRemind("付费失败,用户已取消");
});
} else {
plus.nativeUI.alert("支付失败");
}
});
}else if(state_type == 2){
// 微信通道
mui.plusReady(function () { // 获取支付通道
plus.payment.getChannels(function (channels) {
for (var i in channels) {
if (channels[i].id == "wxpay") {
wxChannel = channels[i];
} else {
aliChannel = channels[i];
}
}
}, function (e) {
alert("获取支付通道失败:" + e.message);
});
})
mui.post('此处填写支付接口', {
'此处填写所需参数'
},
function (data) {
data = JSON.stringify(data.data);
if (data) {
plus.payment.request(wxChannel, data, function (result) {
// 支付成功处理
}, function (msg) {
// JSON.stringify(msg.message)
floatRemind('支付失败');
});
} else {
plus.nativeUI.alert("支付失败");
}
});
}
})
已经用过了,没有问题,支付宝可以真机调试,微信必须打包下载测试。
测试过程中有过报错-100,打包必须有证书,公用证书可以。