215 lines
7.4 KiB
PHP
215 lines
7.4 KiB
PHP
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta http-equiv="Content-Language" content="zh-cn">
|
|
<meta name="apple-mobile-web-app-capable" content="no"/>
|
|
<meta name="apple-touch-fullscreen" content="yes"/>
|
|
<meta name="format-detection" content="telephone=no,email=no"/>
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="white">
|
|
<meta name="renderer" content="webkit"/>
|
|
<meta name="force-rendering" content="webkit"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
|
|
<meta http-equiv="Expires" content="0">
|
|
<meta http-equiv="Pragma" content="no-cache">
|
|
<meta http-equiv="Cache-control" content="no-cache">
|
|
<meta http-equiv="Cache" content="no-cache">
|
|
<meta name="viewport"
|
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
|
<title>{{ $type_name }}扫码支付</title>
|
|
<link href="{{ url('/style/web/newscan/') }}/css/pay.css" rel="stylesheet" media="screen">
|
|
<script src="{{ url('/style/web/newscan/') }}/js/jquery-2.1.1.min.js"></script>
|
|
<script src="{{ url('/style/web/newscan/') }}/js/jquery.qrcode.min.js"></script>
|
|
<style>
|
|
.md-2
|
|
{
|
|
line-height: 30px;
|
|
padding: 20px;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="body">
|
|
<div class="container">
|
|
<div class="header">
|
|
<div class="logo {{ $order->pay_type }}"></div>
|
|
</div>
|
|
<div class="mainbody md-2" id="okShow" style="display: none">
|
|
|
|
</div>
|
|
<div class="mainbody" id="payshow">
|
|
<div class="realprice amount">¥{{ $order->order_money }}</div>
|
|
<div class="qrcode">
|
|
|
|
<div id="qrcode_create" style="display: none;"></div>
|
|
<img src="" id="imgOne" style="max-width: 100%">
|
|
<div class="logo hidden-xs logo-{{ $order->pay_type }}"></div>
|
|
<div class="expired hidden"></div>
|
|
<div class="paid hidden"></div>
|
|
</div>
|
|
<div class="remainseconds">
|
|
<div class="time minutes">
|
|
<b>20</b>
|
|
<em>分</em>
|
|
</div>
|
|
<div class="colon">:</div>
|
|
<div class="time seconds">
|
|
<b>0</b>
|
|
<em>秒</em>
|
|
</div>
|
|
</div>
|
|
<div class="warning"> @if($order->pay_type=='weixin')微信不支持识别二维码和相册二维码<br/>请直接用微信扫一扫@endif</div>
|
|
<div class="tip">
|
|
<div class="ico-scan"></div>
|
|
<div class="tip-text">
|
|
<p>请使用{{ $type_name }}扫一扫</p>
|
|
<p>扫描二维码完成支付</p>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="tips">
|
|
@if($order->pay_type=='alipay')
|
|
<a id="tips-button" href="javascript:;" class="btn btn-primary btn-lg">启动支付宝进行支付</a>
|
|
@endif
|
|
<a id="app_pay_btn" href="{{ route('web.pay.scan.return',['order_sn'=>$order->order_sn]) }}"
|
|
class="btn btn-success btn-lg">我已完成支付</a>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="foot">
|
|
<div class="inner">
|
|
@if($order->pay_type=='alipay')
|
|
<p>手机用户可保存上方二维码到手机中</p>
|
|
<p>在扫一扫中选择“相册”即可</p>
|
|
@else
|
|
<p>微信不支持识别二维码和相册二维码</p>
|
|
<p>请直接使用扫一扫操作</p>
|
|
<p>或者电脑/另外一部手机打开,直接微信扫一扫</p>
|
|
@endif
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<script>
|
|
|
|
var remainseconds = 20 * 60;
|
|
var checktime = 3000;
|
|
var queryurl = "{{ route('web.merchant.order.check') }}";
|
|
var addon = {
|
|
successtips: "支付成功!请关闭当前窗口以便于继续操作!",
|
|
expiretips: "二维码已过期,请重新发起订单支付!",
|
|
jumptips: "支付成功!2秒后将自动跳转!",
|
|
order_sn: "{{ $order->order_sn }}"
|
|
}
|
|
</script>
|
|
|
|
<script>
|
|
$(function () {
|
|
var timer, minutes, seconds, ci, qi;
|
|
timer = parseInt(remainseconds) - 1;
|
|
ci = setInterval(function () {
|
|
minutes = parseInt(timer / 60, 10)
|
|
seconds = parseInt(timer % 60, 10);
|
|
|
|
minutes = minutes < 10 ? "0" + minutes : minutes;
|
|
seconds = seconds < 10 ? "0" + seconds : seconds;
|
|
|
|
$(".minutes b").text(minutes);
|
|
$(".seconds b").text(seconds);
|
|
if (--timer < 0) {
|
|
$(".qrcode .expired").removeClass("hidden");
|
|
$("#app_pay_btn").hide();
|
|
$(".warning").html('<a href="javascript:;" class="text-danger">' + addon.expiretips + '</a>').removeClass("hidden");
|
|
clearInterval(ci);
|
|
clearInterval(qi);
|
|
}
|
|
}, 1000);
|
|
|
|
//定时查询订单状态
|
|
var checkOrderStatus = function () {
|
|
clearTimeout(qi);
|
|
$.ajax({
|
|
url: queryurl + '?times=' + new Date().getTime(),
|
|
data: {
|
|
order_sn: addon.order_sn
|
|
},
|
|
success: function (res) {
|
|
//如果没有支付成功,继续执行
|
|
if (res.error == 1) {
|
|
qi = setTimeout(function () {
|
|
checkOrderStatus();
|
|
}, checktime);
|
|
} else {
|
|
//支付成功
|
|
clearTimeout(ci);
|
|
$("#app_pay_btn").hide();
|
|
$(".qrcode .paid").removeClass("hidden");
|
|
$(".warning").addClass("success").html(addon.jumptips).removeClass("hidden");
|
|
var html=res.merchant.msg;
|
|
$("#payshow").hide();
|
|
$("#okShow").append(html).show();
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
error: function () {
|
|
qi = setTimeout(function () {
|
|
checkOrderStatus();
|
|
}, checktime);
|
|
}
|
|
})
|
|
|
|
};
|
|
checkOrderStatus();
|
|
});
|
|
</script>
|
|
|
|
@if($order->pay_type=='alipay' )
|
|
|
|
@if(is_mobile_client())
|
|
<script>
|
|
jQuery(function () {
|
|
|
|
$("#tips-button").on('click', function () {
|
|
var a = location.href = "alipays://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode={{ urlencode($url) }}";
|
|
}).trigger('click');
|
|
//进行点击
|
|
//$("#tips-button").click();
|
|
window.location.href = "https://ds.alipay.com/?from=mobilecodec&scheme=alipays%3a%2f%2fplatformapi%2fstartapp%3fsaId%3d10000007%26clientVersion%3d3.7.0.0718%26qrcode%3d{{ urlencode($url) }}";
|
|
|
|
|
|
})
|
|
</script>
|
|
@endif
|
|
@endif
|
|
<script>
|
|
|
|
jQuery(function () {
|
|
|
|
|
|
var qrcode = jQuery('#qrcode_create').qrcode({
|
|
render: "canvas", //也可以替换为table
|
|
width: 200,
|
|
height: 200,
|
|
text: "{{ $url }}"
|
|
});
|
|
var canvas = qrcode.find('canvas').get(0);
|
|
$('#imgOne').attr('src', canvas.toDataURL('image/jpg'))
|
|
})
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|