wx 支付

1、请求后台接口获取wx需要数据

将请求接口得来的数据存到全局变量里面 payData 。

Ajax('post', '/api', obj).then(res => {
      let data = res.data;
      this.payData = data;
       //wx判断支付环境是否可用,若环境准备好接着调用 onBridgeReady()方法                
      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();
      }

  }).catch(e => {
     alert(e)
     this.canSubmit=true;
  })

2、将后台返回的参数传到wx

调用wx支付方法,将上面请求后台接口返回的参数传给wx 。在用户支付成功后进行下一步操作。

//微信支付
            onBridgeReady() {
                let that = this;
                WeixinJSBridge.invoke(
                    'getBrandWCPayRequest', {
                        "appId": this.payData.appId,     //公众号名称,由商户传入
                        "timeStamp": this.payData.timeStamp,         //时间戳,自1970年以来的秒数
                        "nonceStr": this.payData.nonceStr, //随机串
                        "package": this.payData.package,
                        "signType": this.payData.signType,         //微信签名方式:
                        "paySign": this.payData.paySign //微信签名
                    },
                    function (res) {
                        if (res.err_msg == "get_brand_wcpay_request:ok") {
                            //支付成功
                            window.location.href="/activity";
                            
                        }else if (res.err_msg == "get_brand_wcpay_request:fail") {
                            // 使用以上方式判断前端返回,微信团队郑重提示:
                            //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
                            alert(res.err_msg);
                        }
                    });
            },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值