美文网首页vue
Vue 移动端微信内H5调起支付(WeixinJSBridge内

Vue 移动端微信内H5调起支付(WeixinJSBridge内

作者: 子语喵 | 来源:发表于2020-11-30 10:58 被阅读0次

    下面是前端的写法

    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年以来的秒数
          'nonceStr': pay_params.nonceStr, // 随机串
          'package': pay_params.package, //统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
          'signType': pay_params.signType, // 微信签名方式:
          'paySign': pay_params.paySign // 微信签名
        },
        function(res) {
          if (res.err_msg == 'get_brand_wcpay_request:ok') {
            // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。
            alert('支付成功')
          } else {
            alert('支付失败')
          }
        }
      )
    },
    
    注意 支付成功后不能用get_brand_wcpay_request:ok 作为支付成功的凭证 需要查询订单或者填通知notify_url字段让微信发起异步支付通知才算支付成功

    相关文章

      网友评论

        本文标题:Vue 移动端微信内H5调起支付(WeixinJSBridge内

        本文链接:https://www.haomeiwen.com/subject/zslrwktx.html