H5调起微信支付功能

第一步:需要后端返回需要的以下参数:

该操作是你提交完订单信息后在接口所返回的json,

其次将其存储起来,我用的localStorage

var payParams = {
"appId":$wxData.appId,
"timeStamp":$wxData.timeStamp, //时间戳,自1970年以来的秒数
"nonceStr":$wxData.nonceStr, //随机串
"package": $wxData.package,
"signType":$wxData.signType, //微信签名方式:
"paySign":$wxData.paySign //微信签名
};

第二步:新建空白页面(订单支付按钮跳转后的页面)

function onBridgeReady() {
var req = localStorage.getItem("payParams");
if (!req) return;
else req = JSON.parse(req);
WeixinJSBridge.invoke(
'getBrandWCPayRequest', req,
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// alert("支付成功");
} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
else {
console.log(res.err_msg);

//支付失败后的操作
window.location.href = "pay.html?ticketPrice="+$tickprice+"&actid="+$actid+"&ticketId="+$ticketId+"&sellerid="+$sellerid;
}
}
);
}
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
} else {
onBridgeReady();
}

完事了 前端工作 ,但是就是跟后台配合获取微信名称,openid 等等 可能比较耗费时间

原文地址:https://www.cnblogs.com/S-pcholder/p/6857567.html