• 微信
您当前的位置: 首页> 微信开发>

PC端 微信扫码支付成功之后自动跳转

作者:Alpha时间:2019-07-06 阅读数:5793 +人阅读

微信支付支持pc端扫码支付功能,但是有点不友好的是,扫码过后,当前页面状态没有变化,这点处理的和支付宝差很多。我们只能自己来试试检查刷新页面,来判断当前支付是否成功了。

实现的思路:前端页面设置定时功能,不间断的通过ajax获取后台支付数据;因为微信扫码支付后会有异步处理操作,我们通过业务逻辑修改当前订单的状态,而ajax则实时动态获取订单状态,如果检测到订单支付完成,则进行提示并跳转页面


下面是主要的前端js代码,网上转载,完全可以实现功能。


场景: PC端   微信扫码支付

结果: 支付成功 自动跳转

 

实现思路: 

 支付二维码页面,写ajax请求支付状态,请求到结果,无论成功还是失败,都跳转到相应的结果页面

 

具体实现方法:

html部分:

支付结果状态设定: 0 未支付  1 支付成功 2 支付失败

<input type="hidden"   id="order_id"   value="<?php echo $order_id;?>">
<script type="text/javascript">
function pay_status(){
     var order_id = $("#order_id").val();
     $.ajax({   
        url:'http://' + window.location.host+ '/home/cart/pay_status_check',
        dataType:'json', 
        type:'post',   
        data:{'order_id':order_id},  
        success:function(data){   
            if(data == '1' ){
                window.clearInterval(int); //销毁定时器
                setTimeout(function(){
                    //跳转到结果页面,并传递状态
                    window.location.href="http://"+window.location.host+"/home/cart/pay_result?pay_status=success";
                },1000)
                
            }else if(data =='2'){
                window.clearInterval(int); //销毁定时器
                setTimeout(function(){
                    //跳转到结果页面,并传递状态
                    window.location.href="http://"+window.location.host+"/home/cart/pay_result?pay_status=fail";
                },1000)
            }
        }, 
        error:function(){   
            alert("error");
            
        },   
  });
}
//启动定时器
var int=self.setInterval(function(){pay_status()},1000);
</script>

上面代码是前端页面,具体的后台程序处理可以根据自己的需要来填写,当然,也可以根据后台代码来调整前端的,怎么方便怎么来。

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com

标签: 小程序

阿尔法

软件开发工程师#全栈工程师

{include file=foot.html}
0.755327s