1. 程式人生 > >H5調起微信支付功能

H5調起微信支付功能

需要 con 返回 alert list 訂單 團隊 eve window

第一步:需要後端返回需要的以下參數:

該操作是你提交完訂單信息後在接口所返回的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 等等 可能比較耗費時間

H5調起微信支付功能