微信和支付宝 ---- 前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.qrcodeBox {
position: fixed;
left: 50%;
top: 50%;
margin-left: -200px;
margin-top: -200px;
}
.qrcodeBox .text {
width: 256px;
text-align: center;
padding-bottom: 10px;
}
</style>
</head>
<body>
<div class="qrcodeBox" style="width: 400px;height: 400px;">
<div class="text" id="text">请使用支付宝或微信扫码完成支付</div>
<div id="qrcode"></div>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
<script src="js/jquery-1.11.3.min.js"></script>
<script src="js/md5.min.js"></script>
<script>
new QRCode(document.getElementById('qrcode'),
{
text: 'weixin://wxpay/bizpayurl?pr=FA39zgyzz',
width: 256,
height: 256,
colorDark: '#000000',
colorLight: '#ffffff',
correctLevel: QRCode.CorrectLevel.H
}
);
var orderNo = '';
let time = 30 * 5;
let timer = null;
function order() {
orderNo = '20210420162237649639';
timer = setInterval(function () {
time--;
if (time <= 0) {
document.getElementById('text').innerHTML = '支付超时';
clearInterval(timer)
}
getOrderState(function (data) {
console.log(data);
if (data.is_pay === 1) {
document.getElementById('text').innerHTML = '支付完成';
clearInterval(timer)
}
})
}, 2000)
}
// 下单
// order();
function getHash(para) {
var APIKEY = 'f726446ebfc6d9a2da64a9b1e006149d';
var keys = Object.keys(para);
var newArray = keys.sort();
var str = '';
for (var i = 0; i < newArray.length; i++) {
str = str + newArray[i] + para[newArray[i]];
}
var nStr = str + APIKEY;
return md5(nStr);
}
function getOrderState(callback) {
// var userToken = getCookie('userToken');
var userToken = '58b512ad3a4b0d2f56e10898ebcbf403';
// console.log(userToken);
// if (userToken == '' || userToken == undefined) {
// webTip('用户身份已过期,请重新登录');
// return false;
// }
var TIMER = parseInt(new Date().getTime() / 1000);
var APIID = 'dc9d174bf4ce93e36ee808891885e2b5';
var TERMINAL = 4;
var URL = 'http://star.zongye.top/';
var parameter = {
// time: TIMER,
// apiId: APIID,
// terminal: TERMINAL,
time: TIMER,
apiId: APIID,
terminal: TERMINAL,
token: userToken,
order_no: orderNo
};
parameter.hash = getHash(parameter);
// Content-Type: application/json;
$.post(URL + 'Api/Pay/orderState', parameter, function (res) {
console.log(res);
if (res.Code == '000000') {
callback && callback(res.Data);
} else {
webTip(res.Msg)
}
});
}
</script>
</body>
</html>