在微信内使用微信支付,支付成功后97%的人可以跳转到成功页,3%的人无法跳转

我在微信公众号内嵌套了一个网页,大概有3%的人支付成功后无法跳转到我指定的成功页面,经常会有用户打电话过来说支付成功后没有显示结果

<script type="text/javascript">
//每隔三秒钟自动刷新验证是否支付成功,如果支付成功则跳转
    $(document).ready(function () {
        setInterval("ajaxstatus()", 3000);
    });
//每隔三秒钟自动刷新验证是否支付成功,如果支付成功则跳转

    //调用微信JS api 支付
    function jsApiCall()
    {
        WeixinJSBridge.invoke(
            'getBrandWCPayRequest',
            {$jsApiParameters},
            function(res){
                WeixinJSBridge.log(res.err_msg);
                if(res.err_msg=='get_brand_wcpay_request:ok'){
                                                        $("#bt1").hide();   //“立即支付”按钮隐藏
                                                        $("#bt2").show(); //”支付成功,查看订单详情“按钮显示

                                                        //1秒钟后自动跳转到支付成功的界面
                                                        setTimeout(function () {
                                                                location.href='{$pay_result}';
                                                        }, 1000);
                }else{
                                                //验证是否支付成功,如果支付成功则跳转到支付成功的界面
                                                $.get("/index/newpay/pay_verification/oid/{$order_info.oid}",function(data,status){
                                                        var datas = eval("("+data+")");
                                                        if(datas.res=='success'){
                                                            setTimeout(function(){
                                                                    location.href='{$pay_result}';
                                                                },1500)
                                                        }
                                                });                  
                }
            }
        );
    }



    function callpay()
    {
        if (typeof WeixinJSBridge == "undefined"){
            if( document.addEventListener ){
                document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
            }else if (document.attachEvent){
                document.attachEvent('WeixinJSBridgeReady', jsApiCall);
                document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
            }
        }else{
            jsApiCall();
        }
    }

    function ajaxstatus(){
        $.get("/index/newpay/pay_verification/oid/{$order_info.oid}",function(data,status){
            var datas = eval("("+data+")");
            if(datas.res=='success'){
                $("#btn2").show();//”支付成功,查看订单详情“按钮显示
                $("#btn1").hide();//“立即支付”按钮隐藏
            }else{
                $("#btn1").show();//“立即支付”按钮显示
                $("#btn2").hide();//”支付成功,查看订单详情“按钮显示
            }
        });
    }
</script>

3个回答

没找到解决办法,关闭回答

处理方式
1.浏览器兼容问题>是否跟Android系统,微信版本
2.查询加载失败>服务器这边是否有记录>有记录,写一个查询订单生成新网页返回>缺陷,对服务器有开销>优点,不只是支付成功返回并实现了两次验证
3.设置在线付款人数,达到一定人数排队,或者响应新的服务器

这是你服务器的问题,特别是网络问题。最好使用双线机房,这样才能保证不同网络的用户都能访问你的网站

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复zn308: 你可以让访问不成功的人报告下他们的浏览器、所用的网络(电信、网通、教育网等),所在的地方,看看是不是明显的是某种网络或者浏览器的原因,但是网络的原因比较可能。
8 个月之前 回复
zn308
zn308 有没有可能是老机型的问题?
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问