EsayWechat开发之【请求支付】

前面已经下单成功并且进行二次签名了

接下来是前端的事情
  <script type="text/javascript" charset="utf-8">

        $('#btna').click(function() {
            $.ajax({
                'url': "{:url('esa/ex/p')}",
                'type': 'post',
                'dataType': 'json',
                'success': function(data) {
                    var data = JSON.parse(data);//转为json对象数组形式
                      function onBridgeReady() {
                        let test = {
                            "appId":data.appId, //公众号名称,由商户传入     
                            "timeStamp":data.timeStamp, //时间戳,自1970年以来的秒数     
                            "nonceStr":data.nonceStr, //随机串     
                            "package": data.package,
                            "signType":data.signType, //微信签名方式:     
                            "paySign":data.paySign, //微信签名 
                        };
                        // alert(JSON.stringify(shop_price));
                        WeixinJSBridge.invoke(
                            'getBrandWCPayRequest', test,
                            function(res) {
                                if (res.err_msg == "get_brand_wcpay_request:ok") {
                                    // 使用以上方式判断前端返回,微信团队郑重提示:
                                    // alert('支付成功!回调页面即可!');
                                     location.href = "/success.html";//假设跳进登录页面
                                    //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
                                }
                            });
                    }

                    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();
                    }
                },
            });
        });
    </script>
请求服务端写好的下单接口即可!

为您推荐

评论已关闭