本文实例为大家分享了php微信扫码支付成功之后自动跳转的具体代码,供大家参考,具体内容如下
场景: PC端 微信扫码支付
结果: 支付成功 自动跳转
实现思路:
支付二维码页面,写ajax请求支付状态,请求到结果,无论成功还是失败,都跳转到相应的结果页面
具体实现方法:
html部分:
支付结果状态设定: 0 未支付 1 支付成功 2 支付失败
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<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://" rel= "external nofollow" rel= "external nofollow" +window.location.host+ "/home/cart/pay_result?pay_status=success" ; },1000) } else if (data == '2' ){ window.clearInterval(int); //销毁定时器 setTimeout( function (){ //跳转到结果页面,并传递状态 window.location.href= "http://" rel= "external nofollow" rel= "external nofollow" +window.location.host+ "/home/cart/pay_result?pay_status=fail" ; },1000) } }, error: function (){ alert( "error" ); }, }); } //启动定时器 var int=self.setInterval( function (){pay_status()},1000); </script> |
PHP 部分:
1
2
3
4
5
6
|
//支付状态检测 public function pay_status_check(){ $order_id = I( "order_id" ); $result = M( 'table' )->where( "order_id = $order_id" )->find(); echo $result [ 'pay_status' ]; } |
基础功能就这些,如果想效果好看一点,可以再加一些样式,比如:支付成功,加一个对号的动画!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。