sifangpay/resources/views/web/order/code.blade.php

691 lines
24 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@extends('web.layouts.h5base')
@section('add_css')
<link href="{{ url('/style/web/h5/js/clipboard.min.js') }}" rel="stylesheet" media="screen">
<script type="text/javascript" src="{{ url('/style/web/') }}/h5/js/clipboard.min.js"></script>
<script src="{{ url('/style/web/') }}/h5/layer_mobile/layer.js"></script>
<style>
.expired {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
opacity: .95;
background: #fff url({{ url('/style/web/') }}/h5/images/expired.png) center center no-repeat;
}
.paid {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
opacity: .95;
background: #fff url({{ url('/style/web/') }}/h5//images/paid.png) center center no-repeat;
}
.hidden {
display: none;
}
.code_tan h3 .closer {
position: absolute;
top: 0.05rem;
right: 0.0rem;
font-size: .21rem;
color: #ccc !important;
background: #fff;
width: 0.28rem;
height: 0.28rem;
border-radius: 50%;
}
.tan_bg .code_tan {
border-radius: 0.1rem;
}
.tan-title h3 {
color: #666;
}
.tan-title {
border-bottom: 1px solid #ededed;
margin-bottom: 0.1rem;
}
.code_tan {
padding-bottom: 0.2rem;
height: auto;
}
.tan_button a {
margin: 0 0.27rem;
display: inline-block;
width: 3rem;
height: .4rem;
line-height: .4rem;
text-align: center;
border-radius: .05rem;
box-sizing: border-box;
box-shadow: none;
border: 0.01rem solid limegreen;
}
.bg_ccc {
background-color: #f8f9fc;
}
.impot-tip {
background: #e85453;
line-height: 0.4rem;
color: #fff;
text-align: center;
}
.fail_icon {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
opacity: .95;
background: #fff url(/style/web/h5/images/close.png) center center no-repeat;
}
.code .code_bg .code_img {
width: 2.2rem;
height: 2.2rem;
margin: 0 auto;
}
.code .code_bg .img, .code .code_bg img {
width: 100%;
height: 100%;
}
.code .org_button2 .a, .code .org_button2 a {
display: inline-block;
width: 3.2rem;
height: 0.35rem;
background-color: #00a0e9;
color: #fff;
font-size: .16rem;
line-height: 0.35rem;
text-align: center;
border-radius: .05rem;
box-sizing: border-box;
box-shadow: none;
}
.code .org_button2 .weixin {
display: inline-block;
width: 3.2rem;
height: 0.35rem;
background-color: #2ba245;
color: #fff;
font-size: .16rem;
line-height: 0.35rem;
text-align: center;
border-radius: .05rem;
box-sizing: border-box;
box-shadow: none;
}
.p-t-20 {
padding-top: .1rem;
}
body {
background: #fff;
}
.pay-tip {
width: 0.5rem;
background: #e85453;
line-height: 1.5;
top: -0.0rem;
right: -0.72rem;
position: absolute;
color: #fff;
padding: 0.1rem;
border-radius: 0.1rem;
font-size: 0.14rem;
}
.pay-tip:after {
content: "";
position: absolute;
transform: rotate(-16deg);
left: -.06rem;
bottom: -2px;
width: 0;
height: 0;
border-left: 0.2rem solid transparent;
border-right: 0 solid transparent;
border-bottom: .13rem solid #e85453;
}
.impot-top {
background: #fff;
line-height: 0.4rem;
color: #333;
text-align: center;
}
.exp {
text-align: left;
margin-left: 100px
}
.color {
color: #FF0000;
font-size: 32px;
}
.color1 {
color: #666;
font-size: 12px;
}
.bank-item
{
padding-top: 20px;
}
.code h4{
color: red;
text-align: right;
padding-right: 15px;
}
</style>
@endsection
@section('content')
<div id="app" style="position: relative">
@if(!in_array($pay_type,['tr_bank','tr_bank2']) )
<p class="impot-top fff tcenter" style="line-height: normal"><img
src="{{ url('/style/web/') }}/h5/images/{{ $pay_type }}.png" alt=""></p>
@endif
<p class="impot-tip fff tcenter">重复支付和修改金额无法到账,概不负责</p>
<div class="code">
<h5 class=" code_noti bg_color_white">
<span class="color_999 font-16 p-l-20 t-status">{{ $pay_status }}</span>
<div class="pull_right p-r-20 font-14 ">
<span class="color_999 p-r-05 f-w-400 color_666">支付倒计时</span>
@verbatim <span class="color_999" id="OnlyTime"></span>@endverbatim
</div>
</h5>
<h5 class="font-12 p-l-20 bg_color_white p-r-20 f-w-400 p-b-05">
<span class="color_999">订单编号:</span>
<span class="color_999">{{ $order->order_sn }}</span>
<span class="pull_right color_999 copy" data-clipboard-text="{{ $order->order_sn }}">复制订单编号</span>
</h5>
@if($pay_type=='tr_bank2')
<h4>转账时把订单编号填在备注里</h4>
@endif
<div class="code_bg m10 bg_ccc">
<h3 class="color_333 f-w-400 p-t-20 text-center">¥ <span
class="color">{{ $order->order_money }}</span><span class="color1">(请勿修改金额付款)</span></h3>
{{--<h3 class="color_333 f-w-400 exp p-b-10">付款备注:<span class="color">{{ $order->ewm_mark }}</span><span class="color1">(请在支付备注上填写)</h3>--}}
{{--<h3 class="color_red text-center font-20">
<span class="p-r-05"></span><span>{{ $order->order_money }}</span></h3>
<h3 class="color_red text-center font-20 p-b-10">付款备注:{{ $order->ewm_mark }}</h3>--}}
@if($pay_type=='tr_bank2')
<h5 class="font-12 bank-item p-l-20 bg_color_white p-r-20 f-w-400 p-b-05">
<span class="color_999">银行类型:</span>
<span class="color_999">{{ $gateway['bank_name'] }}</span>
</h5>
<h5 class="font-12 bank-item p-l-20 bg_color_white p-r-20 f-w-400 p-b-05">
<span class="color_999">收款姓名:</span>
<span class="color" style="font-size: 16px">{{ $gateway['username'] }}</span>
<span class="pull_right color_999 copy" data-clipboard-text="{{ $gateway['username'] }}">复制收款姓名</span>
</h5>
<h5 class="font-12 bank-item p-l-20 bg_color_white p-r-20 f-w-400 p-b-05">
<span class="color_999">卡号:</span>
<span class="color" style="font-size: 16px">{{ $gateway['mch_id'] }}</span>
<span class="pull_right color_999 copy" data-clipboard-text="{{ $gateway['mch_id'] }}">复制卡号</span>
</h5>
<h5 class="font-12 bank-item p-l-20 bg_color_white p-r-20 f-w-400 p-b-05">
<span class="color_999">开户行:</span>
<span class="color_999">{{ $gateway['source'] }}</span>
<span class="pull_right color_999 copy" data-clipboard-text="{{ $gateway['source'] }}">复制开户行</span>
</h5>
<div class="" style="clear: both"></div>
@else
<div class="bg_color_white code_img trade-order-detail" style="position: relative">
<img class="" src="{{ url($bank['thumb']) }}"/>
<div class="expired hidden"></div>
<div class="paid hidden"></div>
<div class="hidden fail_icon"></div>
</div>
@endif
{{-- <h5 class="color_333 f-w-400 text-center p-t-20">
<span class="p-r-05">付款页面备注请填写</span>
<span>(</span>
<span class="color_FF0000">必填</span>
<span>)</span>
</h5>
<h3 class="color_red text-center font-20 p-b-10">{{ $order->ewm_mark }}</h3>--}}
</div>
@if($pay_type=='tr_wxalbank')
<h3 class="color_red text-center font-20 p-b-10" style="font-size: 16px;margin-top: 20px">使用支付宝或微信或银行支付</h3>
@endif
@if($pay_type=='tr_wxal')
<h3 class="color_red text-center font-20 p-b-10" style="font-size: 16px;margin-top: 20px">使用支付宝或者微信支付</h3>
@endif
@if($pay_type=='tr_alipay')
@if($bank['url'])
<div class="org_button2 p-t-10i" id="goPay">
<a href="javascript:void(0)">打开支付宝跳转付款页面</a>
</div>
@endif
@endif
@if($pay_type=='tr_weixin')
<div class="org_button2 p-t-10i" id="tips-button">
<a href="#" class="weixin">1.长按二维码保存到相册</a>
</div>
<div class="org_button2 p-t-10i" id="tips-button">
<a href="weixin://scanqrcode" class="weixin">2.打开微信扫一扫</a>
</div>
@endif
</div>
<div class="none"></div>
<div class="code_footer" style="{{ !$is_mobile?'position: static':'' }}">
<a href="javascript:void(0)" onclick="payOk()"
style="background-color: {{ $pay_type=='tr_alipay'?'#00a0e9':'' }}">
<span>我已付款</span>
<span>{{ $order->order_money }}</span>
<span></span>
</a>
<a href="javascript:void(0)" id="cancleOrder">取消此交易</a>
</div>
<div class="pay_tan tan_bg hide">
<div class="code_tan bg_color_white"
style="position:fixed; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%);">
<div class="tan-title">
<h3 class="font-18 text-center f-w-400">付款填写
<i class="fa fa-close closer"></i>
</h3>
</div>
<p class="work-break p-l-20 p-r-20 color_333">填写转账信息,方便核实订单,请填写。</p>
<div class="list-input"><label>付款账号</label> <input name="pay_account" placeholder="请输入付款账号"></div>
<div class="list-input"><label>备注</label> <input name="ewm_mark" placeholder="请输入备注"></div>
<div class="tan_button p-t-10i">
<a class="color-white font-14 pay_sen_msg" href="javascript:void(0)"
style="background-color: {{ $pay_type=='tr_alipay'?'#00a0e9':'#32cd32' }};border-color: {{ $pay_type=='tr_alipay'?"#00a0e9":"" }}"><span
class=" "></span> 提交转账信息 </a>
</div>
{{--<div class="tan_button p-t-10i">
<a class="color_666 font-14" href="">查看充值教程</a>
</div>--}}
</div>
</div>
<div class="first_tan tan_bg hide">
<div class="code_tan bg_color_white"
style="position:fixed; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%);">
<div class="tan-title">
<h3 class="font-18 text-center f-w-400">重要通知
<i class="fa fa-close closer"></i>
</h3>
</div>
<p class="work-break p-l-20 p-r-20 color_333">
1.付款金额一定要精确到小数点后两位。比如:<span
style="color:#f00">界面提醒付款金额为{{ $order->order_money }}</span>,您支付的时候<span
style="color:#f00">一定要支付{{ $order->order_money }},一分不能少</span>
</p>
<p class="m-t-15"></p>
<p class="work-break p-l-20 p-r-20 color_333"> 2.注意如修改金额支付,或没有填写支付备注,支付后无法查证,不补不退,概不负责。</p>
<p class="m-t-35"></p>
<p class="work-break p-l-20 p-r-20 color_333">
3.<span style="color:#f00">订单超过15分钟订单自动取消,请勿付款之前的码</span>补单2小时内有效补单2小时内有效补单2小时内有效超过补单时间自行负责。</p>
<p class="m-t-35"></p>
<div class="tan_button p-t-10i">
<a class="bg_limegreen color-white font-14 closer2 copy2" href="javascript:void(0)"
style="background-color: {{ $pay_type=='tr_alipay'?'#00a0e9':'' }};border-color: {{ $pay_type=='tr_alipay'?"#00a0e9":"" }}"><span
class="only_time"></span> 我已知晓,继续支付 </a>
{{--data-clipboard-text="{{ $order->order_money }}"--}}
</div>
{{--<div class="tan_button p-t-10i">
<a class="color_666 font-14" href="">查看充值教程</a>
</div>--}}
</div>
</div>
</div>
@endsection
@section('header')
@endsection
@section('footer')
@endsection
@section('foot_js')
<script type="text/javascript">
$(document).ready(function () {
var back_url = "{{ route('web.pay.scan.return',['order_sn'=>$order->order_sn]) }}";
var clipboard = new Clipboard('.copy');
$('.first_tan').show();
var only_times = 3;
$('.only_time').text('(' + only_times + 's)');
var only_timer_interval = setInterval(function () {
if (only_times <= 0) {
clearInterval(only_timer_interval);
$('.only_time').text('');
} else {
$('.only_time').text('(' + only_times + 's)');
only_times--;
}
}, 1000)
$('.closer2').click(function () {
if (only_times <= 0) {
$('.first_tan').hide();
}
});
$('.closer').click(function () {
$('.tan_bg').hide();
});
var clipboard2 = new Clipboard('.copy2');
clipboard2.on('success', function () {
layer.open({
content: '复制金额成功'
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
})
clipboard.on('success', function () {
layer.open({
content: '复制订单号成功'
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
})
/* $('.org_button2').click(function () {
$('.tan_bg').show();
});*/
//取消订单
$("#cancleOrder").click(function () {
$.ajax({
method: 'post',
url: '{{ route('web.api.pay_cancle.order') }}',
data: {
order_sn: addon.order_sn
},
success: function (res) {
//订单取消,进行跳转
if (res.error == 0) {
if (res.backurl) {
// window.location.href = res.backurl;
}
updateTips('取消支付');
$(".fail_icon").show();
$(".code_footer").hide();
clearTimeout(ci);
layer.open({
content: '取消支付成功'
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
} else {
layer.open({
content: res.msg
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
}
},
error: function () {
}
})
})
});
</script>
<script>
var addon = {
successtips: "支付成功!请关闭当前窗口以便于继续操作!",
expiretips: "二维码已过期,请重新发起订单支付!",
jumptips: "支付成功!2秒后将自动跳转!",
order_sn: "{{ $order->order_sn }}"
}
var remainseconds = "{{ $only_time }}";
var checktime = 3000;
var queryurl = "{{ route('web.api.pay_check') }}";
var timer, minutes, seconds, ci, qi;
timer = parseInt(remainseconds) - 1;
//启动支付宝打开
$("#goPay").on('click', function () {
$('.first_tan').hide();
var a = location.href = "alipays://platformapi/startapp?appId=20000067&url={{ urlencode($bank['url']) }}";
});
//提交付款信息
$(".pay_sen_msg").click(function () {
var pay_account = $('[name="pay_account"]').val();
var pay_mark=$('[name="ewm_mark"]').val();
if(pay_account=='' && pay_mark=='')
{
layer.open({
content: '请输入转账账号或备注'
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
return false;
}
$.ajax({
method:'post',
url: "{{ route('web.api.update.order') }}",
data: {
order_sn: addon.order_sn,
pay_account:pay_account,
pay_mark:pay_mark
},
success: function (res) {
console.log(res);
//如果没有支付成功,继续执行
if (res.error == 1) {
layer.open({
content: res.msg
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
} else {
//支付成功
/* setTimeout(function () {
location.href = res.backurl;
}, 2000);*/
//updateTips(res.msg)
layer.open({
content: res.msg
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
$(".code_footer").hide();
$(".pay_tan").hide();
}
},
error: function () {
}
})
});
function payOk() {
$(".pay_tan").show();
}
function payOk1() {
$.ajax({
url: queryurl + '?times=' + new Date().getTime(),
data: {
order_sn: addon.order_sn
},
success: function (res) {
console.log(res);
//如果没有支付成功,继续执行
if (res.error == 1) {
layer.open({
content: res.msg
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
} else {
//支付成功
/* setTimeout(function () {
location.href = res.backurl;
}, 2000);*/
updateTips(res.msg)
layer.open({
content: res.msg
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
}
},
error: function () {
}
})
}
function updateTips(msg) {
$(".t-status").text(msg);
}
//定时查询订单状态
var checkOrderStatus = function () {
clearTimeout(qi);
if (timer <= 0) {
$(".expired").show();
$(".code_footer").hide();
return false;
}
$.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);
updateTips(res.msg)
$(".paid").removeClass("hidden");
layer.open({
content: res.msg
, skin: 'msg'
, time: 2 //2秒后自动关闭
});
/* setTimeout(function () {
location.href = res.backurl;
}, 2000);*/
}
},
error: function () {
qi = setTimeout(function () {
checkOrderStatus();
}, checktime);
}
})
};
checkOrderStatus();
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;
$("#OnlyTime").text(minutes + ':' + seconds);
if (--timer < 0) {
$(".expired").removeClass("hidden");
clearInterval(ci);
clearInterval(qi);
}
}, 1000);
</script>
@endsection