在微信內H5調起微信支付,主要依賴於一個微信的內置對象WeixinJSBridge,這個對象在其餘瀏覽器中無效。ios
主要代碼:axios
import axios from 'axios'; export default { methods:{ wxpay() { axios.post(url,data) .then((res) => { if(res.code == 200) { const pay_params = res.data.jsApiParameters 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{ this.onBridgeReady(pay_params); } }else{ alert('微信支付調起失敗!'); } }).catch((err) => { console.log(err); }) }, onBridgeReady(params) { const pay_params = JSON.parse(params); WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId": pay_params.appId, //公衆號名稱,由商戶傳入 "timeStamp": pay_params.timeStamp, //時間戳,自1970年以來的秒數 "nonceStr": pay_params.nonceStr, //隨機串 "package": pay_params.package, "signType": pay_params.signType, //微信簽名方式: "paySign": pay_params.paySign //微信簽名 }, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ){ alert('支付成功!'); } }); }, } }
以上就是微信內H5調起支付的方法~瀏覽器