-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patheshanghuapppay.php
114 lines (109 loc) · 4.96 KB
/
eshanghuapppay.php
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
$is_defend=true;
require './includes/common.php';
@header('Content-Type: text/html; charset=UTF-8');
$trade_no=daddslashes($_GET['trade_no']);
$sitename=base64_decode(daddslashes($_GET['sitename']));
$row=$DB->query("SELECT * FROM pay_order WHERE trade_no='{$trade_no}' limit 1")->fetch();
if(!$row)sysmsg('该订单号不存在,请返回来源地重新发起请求!');
if(isset($_GET['type']))$DB->query("update `pay_order` set `type` ='wxpay',`addtime` ='$date' where `trade_no`='$trade_no'");
$target_url = ($_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].'/eshanghujspay.php?trade_no='.$trade_no;
?>
<html lang="zh-cn">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>微信支付</title>
<link href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
</head>
<body>
<div class="col-xs-12 col-sm-10 col-md-8 col-lg-6 center-block" style="float: none;">
<div class="panel panel-primary">
<div class="panel-heading" style="text-align: center;"><h3 class="panel-title">
<img src="assets/icon/wechat.ico">微信支付手机版
</div>
<div class="list-group" style="text-align: center;">
<div class="list-group-item list-group-item-info">长按保存到相册使用扫码扫码完成支付</div>
<div class="list-group-item">
<div class="qr-image" id="qrcode"></div>
</div>
<div class="list-group-item list-group-item-info">或复制以下链接到微信打开:</div>
<div class="list-group-item">
<a href="<?php echo $target_url?>"><?php echo $target_url?></a><br/><button id="copy-btn" data-clipboard-text="<?php echo $target_url?>" class="btn btn-info btn-sm">一键复制</button>
</div>
<div class="list-group-item"><small>提示:你可以将以上链接发到自己微信的聊天框(在微信顶部搜索框可以搜到自己的微信),即可点击进入支付</small></div>
<div class="list-group-item"><a href="weixin://" class="btn btn-primary">打开微信</a> <a href="#" onclick="checkresult()" class="btn btn-success">检测支付状态</a></div>
</div>
</div>
</div>
<script src="assets/js/qrcode.min.js"></script>
<script src="assets/js/qcloud_util.js"></script>
<script src="assets/layer/layer.js"></script>
<script src="//lib.baomitu.com/clipboard.js/1.7.1/clipboard.min.js"></script>
<script>
var clipboard = new Clipboard('#copy-btn');
clipboard.on('success', function(e) {
layer.msg('复制成功,请到微信里面粘贴');
});
clipboard.on('error', function(e) {
layer.msg('复制失败,请长按链接后手动复制');
});
var qrcode = new QRCode("qrcode", {
text: "<?php echo $target_url?>",
width: 180,
height: 180,
colorDark: "#000000",
colorLight: "#ffffff",
correctLevel: QRCode.CorrectLevel.H
});
// 检查是否支付完成
function loadmsg() {
$.ajax({
type: "GET",
dataType: "json",
url: "getshop.php",
timeout: 10000, //ajax请求超时时间10s
data: {type: "wxpay", trade_no: "<?php echo $row['trade_no']?>"}, //post数据
success: function (data, textStatus) {
//从服务器得到数据,显示数据并继续查询
if (data.code == 1) {
layer.msg('支付成功,正在跳转中...', {icon: 16,shade: 0.01,time: 15000});
setTimeout(window.location.href=data.backurl, 1000);
}else{
setTimeout("loadmsg()", 4000);
}
},
//Ajax请求超时,继续查询
error: function (XMLHttpRequest, textStatus, errorThrown) {
if (textStatus == "timeout") {
setTimeout("loadmsg()", 1000);
} else { //异常
setTimeout("loadmsg()", 4000);
}
}
});
}
function checkresult() {
$.ajax({
type: "GET",
dataType: "json",
url: "getshop.php",
timeout: 10000, //ajax请求超时时间10s
data: {type: "wxpay", trade_no: "<?php echo $row['trade_no']?>"}, //post数据
success: function (data, textStatus) {
//从服务器得到数据,显示数据并继续查询
if (data.code == 1) {
layer.msg('支付成功,正在跳转中...', {icon: 16,shade: 0.01,time: 15000});
setTimeout(window.location.href=data.backurl, 1000);
}
},
//Ajax请求超时,继续查询
error: function (XMLHttpRequest, textStatus, errorThrown) {
layer.msg('服务器错误');
}
});
}
window.onload = loadmsg();
</script>
</body>
</html>