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 等等 可能比較耗費時間

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM