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
上一篇:如何限制必须使用微信打开网页