本文实例为大家分享了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' ];
}
|
基础功能就这些,如果想效果好看一点,可以再加一些样式,比如:支付成功,加一个对号的动画!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。