Vue 移動端微信內(nèi)H5調(diào)起支付(WeixinJSBridge內(nèi)置對象)

下面是前端的寫法

StartWeiXinPay(pay_params) {
  if (typeof WeixinJSBridge === 'undefined') {
    if (document.addEventListener) {
      alert(1);
      document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(pay_params), false)
    } else if (document.attachEvent) {
       alert(2);
      document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(pay_params))
      document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(pay_params))
    }
  } else {
    this.onBridgeReady(pay_params)
  }
},

onBridgeReady(pay_params) {
  var that = this
  WeixinJSBridge.invoke(
    'getBrandWCPayRequest', {
      'appId': pay_params.appId, // 公眾號名稱,由商戶傳入
      'timeStamp': pay_params.timeStamp, // 時間戳,自1970年以來的秒數(shù)
      'nonceStr': pay_params.nonceStr, // 隨機(jī)串
      'package': pay_params.package, //統(tǒng)一支付接口返回的prepay_id參數(shù)值,提交格式如:prepay_id=***)
      'signType': pay_params.signType, // 微信簽名方式:
      'paySign': pay_params.paySign // 微信簽名
    },
    function(res) {
      if (res.err_msg == 'get_brand_wcpay_request:ok') {
        // 使用以上方式判斷前端返回,微信團(tuán)隊(duì)鄭重提示:res.err_msg將在用戶支付成功后返回    ok,但并不保證它絕對可靠。
        alert('支付成功')
      } else {
        alert('支付失敗')
      }
    }
  )
},
注意 支付成功后不能用get_brand_wcpay_request:ok 作為支付成功的憑證 需要查詢訂單或者填通知notify_url字段讓微信發(fā)起異步支付通知才算支付成功
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容