|
|
<?php
|
|
|
$is_defend=true;
|
|
|
include("../includes/common.php");
|
|
|
if(!$conf['test_open'])sysmsg("未开启测试支付");
|
|
|
if(isset($_GET['ok']) && isset($_GET['trade_no'])){
|
|
|
$trade_no=daddslashes($_GET['trade_no']);
|
|
|
$row=$DB->getRow("SELECT * FROM pre_order WHERE trade_no='{$trade_no}' AND uid='{$conf['test_pay_uid']}' limit 1");
|
|
|
if(!$row)sysmsg('订单号不存在');
|
|
|
if($row['status']!=1)sysmsg('订单未完成支付');
|
|
|
$money = $row['money'];
|
|
|
}else{
|
|
|
$trade_no=date("YmdHis").rand(111,999);
|
|
|
$gid = $DB->getColumn("SELECT gid FROM pre_user WHERE uid='{$conf['test_pay_uid']}' limit 1");
|
|
|
$paytype = \lib\Channel::getTypes($gid);
|
|
|
$csrf_token = md5(mt_rand(0,999).time());
|
|
|
$_SESSION['csrf_token'] = $csrf_token;
|
|
|
$money = 1;
|
|
|
}
|
|
|
?>
|
|
|
<!DOCTYPE html>
|
|
|
<html lang="zh-CN">
|
|
|
<body>
|
|
|
<head>
|
|
|
<meta charset="utf-8" />
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
|
|
<title><?php echo $conf['sitename']?> - 测试支付</title>
|
|
|
<link href="<?php echo $cdnpublic?>twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet"/>
|
|
|
<link rel="stylesheet" href="./assets/css/captcha.css" type="text/css" />
|
|
|
<style>.form-group{margin-bottom:18px}
|
|
|
</head>
|
|
|
<div class="container">
|
|
|
<div class="col-xs-12 col-sm-10 col-lg-8 center-block" style="float: none;">
|
|
|
<div class="page-header">
|
|
|
<h4><?php echo $conf['sitename']?> - 测试支付<a href="/" class="pull-right"><small>返回首页</small></a></h4>
|
|
|
</div>
|
|
|
<div class="panel panel-primary">
|
|
|
<div class="panel-body">
|
|
|
|
|
|
<form name="alipayment">
|
|
|
<input type="hidden" name="csrf_token" value="<?php echo $csrf_token?>">
|
|
|
<div class="form-group"><div class="input-group">
|
|
|
<span class="input-group-addon"><span class="glyphicon glyphicon-barcode"></span></span>
|
|
|
<input class="form-control" placeholder="商户订单号" value="<?php echo $trade_no?>" name="trade_no" type="text" disabled="">
|
|
|
</div></div>
|
|
|
<div class="form-group"><div class="input-group">
|
|
|
<span class="input-group-addon"><span class="glyphicon glyphicon-shopping-cart"></span></span>
|
|
|
<input class="form-control" placeholder="商品名称" value="支付测试" name="name" type="text" disabled="" >
|
|
|
</div></div>
|
|
|
<div class="form-group"><div class="input-group">
|
|
|
<span class="input-group-addon"><span class="glyphicon glyphicon-yen"></span></span>
|
|
|
<input class="form-control" placeholder="付款金额" value="<?php echo $money?>" name="money" type="text" <?php echo isset($_GET['ok'])?'disabled=""':'required=""'?>>
|
|
|
</div></div>
|
|
|
<center>
|
|
|
<?php if(isset($_GET['ok'])){?>
|
|
|
<div class="alert alert-success"><i class="glyphicon glyphicon-ok-circle"></i> 订单已支付成功!</div>
|
|
|
<?php }else{?>
|
|
|
<?php if($conf['captcha_open_test']==1){?>
|
|
|
<div class="list-group-item" id="captcha"><div id="captcha_text">
|
|
|
正在加载验证码
|
|
|
</div>
|
|
|
<div id="captcha_wait">
|
|
|
<div class="loading">
|
|
|
<div class="loading-dot"></div>
|
|
|
<div class="loading-dot"></div>
|
|
|
<div class="loading-dot"></div>
|
|
|
<div class="loading-dot"></div>
|
|
|
</div>
|
|
|
</div></div>
|
|
|
<div id="captchaform"></div>
|
|
|
<?php }?>
|
|
|
<div class="btn-group btn-group-justified" role="group" aria-label="...">
|
|
|
<?php foreach($paytype as $rows){?>
|
|
|
<div class="btn-group" role="group">
|
|
|
<button type="button" name="type" value="<?php echo $rows['id']?>" class="btn btn-default" onclick="submitPay(this)"><img src="/assets/icon/<?php echo $rows['name']?>.ico" height="18"> <?php echo $rows['showname']?></button>
|
|
|
</div>
|
|
|
<?php }?>
|
|
|
</div>
|
|
|
<?php }?>
|
|
|
</center>
|
|
|
</form>
|
|
|
</div>
|
|
|
<div class="panel-footer text-center">
|
|
|
<?php echo $conf['sitename']?> © <?php echo date("Y")?> All Rights Reserved.
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<script src="<?php echo $cdnpublic?>jquery/3.4.1/jquery.min.js"></script>
|
|
|
<script src="<?php echo $cdnpublic?>twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
|
|
|
<script src="<?php echo $cdnpublic?>layer/3.1.1/layer.min.js"></script>
|
|
|
<script src="//static.geetest.com/static/tools/gt.js"></script>
|
|
|
<script>
|
|
|
var captcha_open = 0;
|
|
|
var handlerEmbed = function (captchaObj) {
|
|
|
captchaObj.appendTo('#captcha');
|
|
|
captchaObj.onReady(function () {
|
|
|
$("#captcha_wait").hide();
|
|
|
}).onSuccess(function () {
|
|
|
var result = captchaObj.getValidate();
|
|
|
if (!result) {
|
|
|
return alert('请完成验证');
|
|
|
}
|
|
|
$("#captchaform").html('<input type="hidden" name="geetest_challenge" value="'+result.geetest_challenge+'" /><input type="hidden" name="geetest_validate" value="'+result.geetest_validate+'" /><input type="hidden" name="geetest_seccode" value="'+result.geetest_seccode+'" />');
|
|
|
$.captchaObj = captchaObj;
|
|
|
});
|
|
|
};
|
|
|
function submitPay(obj){
|
|
|
var csrf_token=$("input[name='csrf_token']").val();
|
|
|
var money=$("input[name='money']").val();
|
|
|
var typeid=$(obj).val();
|
|
|
if(money==''){
|
|
|
layer.alert("金额不能为空");
|
|
|
return false;
|
|
|
}
|
|
|
var data = {money:money, typeid:typeid, csrf_token:csrf_token};
|
|
|
if(captcha_open == 1){
|
|
|
var geetest_challenge = $("input[name='geetest_challenge']").val();
|
|
|
var geetest_validate = $("input[name='geetest_validate']").val();
|
|
|
var geetest_seccode = $("input[name='geetest_seccode']").val();
|
|
|
if(geetest_challenge == ""){
|
|
|
layer.alert('请先完成滑动验证!'); return false;
|
|
|
}
|
|
|
var adddata = {geetest_challenge:geetest_challenge, geetest_validate:geetest_validate, geetest_seccode:geetest_seccode};
|
|
|
}
|
|
|
var ii = layer.load();
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
dataType: "json",
|
|
|
data: Object.assign(data, adddata),
|
|
|
url: "ajax.php?act=testpay",
|
|
|
success: function (data, textStatus) {
|
|
|
layer.close(ii);
|
|
|
if (data.code == 0) {
|
|
|
window.location.href=data.url;
|
|
|
}else{
|
|
|
layer.alert(data.msg, {icon: 2});
|
|
|
$.captchaObj.reset();
|
|
|
}
|
|
|
},
|
|
|
error: function (data) {
|
|
|
layer.msg('服务器错误', {icon: 2});
|
|
|
}
|
|
|
});
|
|
|
return false;
|
|
|
}
|
|
|
$(document).ready(function(){
|
|
|
if($("#captcha").length>0) captcha_open=1;
|
|
|
if(captcha_open==1){
|
|
|
$.ajax({
|
|
|
url: "./ajax.php?act=captcha&t=" + (new Date()).getTime(),
|
|
|
type: "get",
|
|
|
dataType: "json",
|
|
|
success: function (data) {
|
|
|
$('#captcha_text').hide();
|
|
|
$('#captcha_wait').show();
|
|
|
initGeetest({
|
|
|
gt: data.gt,
|
|
|
challenge: data.challenge,
|
|
|
new_captcha: data.new_captcha,
|
|
|
product: "popup",
|
|
|
width: "100%",
|
|
|
offline: !data.success
|
|
|
}, handlerEmbed);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
</script>
|
|
|
</body> |