|
|
<?php
|
|
|
include("../includes/common.php");
|
|
|
if($islogin2==1){}else exit("<script language='javascript'>window.location.href='./login.php';</script>");
|
|
|
$title='新增代付';
|
|
|
include './head.php';
|
|
|
?>
|
|
|
<div id="content" class="app-content" role="main">
|
|
|
<div class="app-content-body ">
|
|
|
|
|
|
<div class="bg-light lter b-b wrapper-md hidden-print">
|
|
|
<h1 class="m-n font-thin h3">新增代付</h1>
|
|
|
</div>
|
|
|
<div class="wrapper-md control">
|
|
|
<?php if(isset($msg)){?>
|
|
|
<div class="alert alert-info">
|
|
|
<?php echo $msg?>
|
|
|
</div>
|
|
|
<?php }?>
|
|
|
<div class="row">
|
|
|
<div class="col-sm-12 col-md-10 col-lg-8 center-block" style="float: none;">
|
|
|
<?php
|
|
|
|
|
|
if(!$conf['user_transfer']) showmsg('未开启代付功能');
|
|
|
|
|
|
function display_type($type){
|
|
|
if($type==1)
|
|
|
return '支付宝';
|
|
|
elseif($type==2)
|
|
|
return '微信';
|
|
|
elseif($type==3)
|
|
|
return 'QQ钱包';
|
|
|
elseif($type==4)
|
|
|
return '银行卡';
|
|
|
else
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
function convert_type($type){
|
|
|
if($type==1)
|
|
|
return 'alipay';
|
|
|
elseif($type==2)
|
|
|
return 'wxpay';
|
|
|
elseif($type==3)
|
|
|
return 'qqpay';
|
|
|
elseif($type==4)
|
|
|
return 'bank';
|
|
|
else
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
if($conf['settle_open']==0||$conf['settle_open']==1)exit('未开启手动申请提现');
|
|
|
|
|
|
if($conf['settle_type']==1){
|
|
|
$today=date("Y-m-d").' 00:00:00';
|
|
|
$order_today=$DB->getColumn("SELECT SUM(realmoney) from pre_order where uid={$uid} and tid<>2 and status=1 and endtime>='$today'");
|
|
|
if(!$order_today) $order_today = 0;
|
|
|
$enable_money=round($userrow['money']-$order_today,2);
|
|
|
if($enable_money<0)$enable_money=0;
|
|
|
}else{
|
|
|
$enable_money=$userrow['money'];
|
|
|
}
|
|
|
if(!$conf['transfer_rate'])$conf['transfer_rate'] = $conf['settle_rate'];
|
|
|
|
|
|
$app = isset($_GET['app'])?$_GET['app']:'alipay';
|
|
|
|
|
|
if(isset($_POST['submit'])){
|
|
|
if(!checkRefererHost())exit();
|
|
|
$out_biz_no = trim($_POST['out_biz_no']);
|
|
|
$payee_account = htmlspecialchars(trim($_POST['payee_account']));
|
|
|
$payee_real_name = htmlspecialchars(trim($_POST['payee_real_name']));
|
|
|
$money = trim($_POST['money']);
|
|
|
$desc = htmlspecialchars(trim($_POST['desc']));
|
|
|
$pwd = trim($_POST['paypwd']);
|
|
|
$pwdenc = getMd5Pwd($pwd, $userrow['uid']);
|
|
|
if(empty($pwd) || $pwdenc!==$userrow['pwd'])showmsg('登录密码输入错误',3);
|
|
|
if(empty($out_biz_no) || empty($payee_account) || empty($money))showmsg('必填项不能为空',3);
|
|
|
if(strlen($out_biz_no)!=19 && !is_numeric($out_biz_no))showmsg('交易号输入不规范',3);
|
|
|
if($desc && mb_strlen($desc)>32)showmsg('转账备注最多32个字',3);
|
|
|
if(!is_numeric($money) || !preg_match('/^[0-9.]+$/', $money) || $money<=0)showmsg('转账金额输入不规范',3);
|
|
|
$need_money = round($money + $money*$conf['transfer_rate']/100,2);
|
|
|
if($need_money>$enable_money)showmsg('需支付金额大于可转账余额',3);
|
|
|
if($conf['transfer_minmoney']>0 && $money<$conf['transfer_minmoney'])showmsg('单笔最小代付金额限制为'.$conf['transfer_minmoney'].'元',3);
|
|
|
if($conf['transfer_maxmoney']>0 && $money>$conf['transfer_maxmoney'])showmsg('单笔最大代付金额限制为'.$conf['transfer_maxmoney'].'元',3);
|
|
|
if($userrow['settle']==0)showmsg('您的商户出现异常,无法使用代付功能',3);
|
|
|
if($conf['transfer_maxlimit']>0){
|
|
|
$a_count = $DB->getColumn('SELECT count(*) FROM pre_transfer WHERE uid=:uid AND type=:type AND account=:account AND paytime>=:paytime', [':uid'=>$uid, ':type'=>$app, ':account'=>$account, ':paytime'=>date('Y-m-d').' 00:00:00']);
|
|
|
if($a_count >= $conf['transfer_maxlimit']){
|
|
|
showmsg('您今天向该账号的转账次数已达到上限',3);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if($app=='alipay'){
|
|
|
$channelid = $conf['transfer_alipay'];
|
|
|
}elseif($app=='wxpay'){
|
|
|
$channelid = $conf['transfer_wxpay'];
|
|
|
}elseif($app=='qqpay'){
|
|
|
if (!is_numeric($payee_account) || strlen($payee_account)<6 || strlen($payee_account)>10)showmsg('QQ号码格式错误',3);
|
|
|
$channelid = $conf['transfer_qqpay'];
|
|
|
}elseif($app=='bank'){
|
|
|
$channelid = $conf['transfer_bank'];
|
|
|
}else{
|
|
|
showmsg('参数错误',4);
|
|
|
}
|
|
|
|
|
|
$channel = \lib\Channel::get($channelid, $userrow['channelinfo']);
|
|
|
if(!$channel)showmsg('当前支付通道信息不存在',4);
|
|
|
|
|
|
$result = \lib\Transfer::submit($app, $channel, $out_biz_no, $payee_account, $payee_real_name, $money, $desc);
|
|
|
|
|
|
if($result['code']==0){
|
|
|
$data = ['biz_no'=>$out_biz_no, 'uid'=>$uid, 'type'=>$app, 'channel'=>$channelid, 'account'=>$payee_account, 'username'=>$payee_real_name, 'money'=>$money, 'costmoney'=>$need_money, 'paytime'=>'NOW()', 'pay_order_no'=>$result['orderid'], 'status'=>$result['status'], 'desc'=>$desc];
|
|
|
if($DB->insert('transfer', $data)!==false){
|
|
|
changeUserMoney($uid, $need_money, false, '代付');
|
|
|
}
|
|
|
if($result['status'] == 1){
|
|
|
$result='转账成功!转账单据号:'.$result['orderid'].' 支付时间:'.$result['paydate'];
|
|
|
}else{
|
|
|
$result='提交成功!转账处理中,请稍后在代付管理页面查看结果。转账单据号:'.$result['orderid'].' 支付时间:'.$result['paydate'];
|
|
|
}
|
|
|
$_SESSION['transfer_desc'] = $desc;
|
|
|
showmsg($result,1,'./transfer.php');
|
|
|
}else{
|
|
|
$result='转账失败,接口返回错误信息:'.$result['msg'];
|
|
|
showmsg($result,4);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$out_biz_no = date("YmdHis").rand(11111,99999);
|
|
|
$desc = $_SESSION['transfer_desc'];
|
|
|
?>
|
|
|
<div class="panel panel-default">
|
|
|
<div class="panel-heading font-bold">
|
|
|
新增代付
|
|
|
</div>
|
|
|
<div class="panel-body">
|
|
|
<ul class="nav nav-tabs">
|
|
|
<?php if($conf['transfer_alipay']>0){?><li class="<?php echo $app=='alipay'?'active':null;?>"><a href="?app=alipay">支付宝</a></li><?php }?>
|
|
|
<?php if($conf['transfer_wxpay']>0){?><li class="<?php echo $app=='wxpay'?'active':null;?>"><a href="?app=wxpay">微信</a></li><?php }?>
|
|
|
<?php if($conf['transfer_qqpay']>0){?><li class="<?php echo $app=='qqpay'?'active':null;?>"><a href="?app=qqpay">QQ钱包</a></li><?php }?>
|
|
|
<?php if($conf['transfer_bank']>0){?><li class="<?php echo $app=='bank'?'active':null;?>"><a href="?app=bank">银行卡</a></li><?php }?>
|
|
|
</ul>
|
|
|
|
|
|
<div class="tab-pane active" id="alipay">
|
|
|
<form action="?app=<?php echo $app?>" method="POST" role="form">
|
|
|
<input type="hidden" name="rate" value="<?php echo $conf['transfer_rate']?>"/>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">交易号</div>
|
|
|
<input type="text" name="out_biz_no" value="<?php echo $out_biz_no?>" class="form-control" required/>
|
|
|
</div></div>
|
|
|
<?php if($app=='alipay'){?>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">支付宝账号</div>
|
|
|
<input type="text" name="payee_account" value="" class="form-control" required placeholder="支付宝登录账号或支付宝UID"/>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">支付宝姓名</div>
|
|
|
<input type="text" name="payee_real_name" value="" class="form-control" placeholder="不填写则不校验真实姓名"/>
|
|
|
</div></div>
|
|
|
<?php }elseif($app=='wxpay'){?>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">Openid</div>
|
|
|
<input type="text" name="payee_account" value="" class="form-control" required placeholder="只能填写微信Openid"/>
|
|
|
<div class="input-group-btn"><a id="getopenid" class="btn btn-default">获取</a></div>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">真实姓名</div>
|
|
|
<input type="text" name="payee_real_name" value="" class="form-control" placeholder="不填写则不校验真实姓名"/>
|
|
|
</div></div>
|
|
|
<?php }elseif($app=='qqpay'){?>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">收款方QQ</div>
|
|
|
<input type="text" name="payee_account" value="" class="form-control" required/>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">真实姓名</div>
|
|
|
<input type="text" name="payee_real_name" value="" class="form-control" placeholder="不填写则不校验真实姓名"/>
|
|
|
</div></div>
|
|
|
<?php }elseif($app=='bank'){?>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">银行卡号</div>
|
|
|
<input type="text" name="payee_account" value="" class="form-control" required placeholder="收款方银行卡号"/>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">姓名</div>
|
|
|
<input type="text" name="payee_real_name" value="" class="form-control" placeholder="收款方银行账户名称"/>
|
|
|
</div></div>
|
|
|
<?php }?>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">可转账余额</div>
|
|
|
<input type="text" value="<?php echo $enable_money?>" class="form-control" disabled/>
|
|
|
<?php if($conf['recharge']==1){?><div class="input-group-btn"><a href="./recharge.php" class="btn btn-default">充值</a></div><?php }?>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">转账金额</div>
|
|
|
<input type="text" name="money" value="" class="form-control" placeholder="RMB/元" required/>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">需支付金额</div>
|
|
|
<input type="text" name="need" value="" class="form-control" disabled/>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">转账备注</div>
|
|
|
<input type="text" name="desc" value="<?php echo $desc?>" class="form-control" placeholder="选填,默认为:<?php echo $conf['transfer_desc']?>"/>
|
|
|
</div></div>
|
|
|
<div class="form-group">
|
|
|
<div class="input-group"><div class="input-group-addon">验证登录密码</div>
|
|
|
<input type="text" name="paypwd" value="" class="form-control" required/>
|
|
|
</div></div>
|
|
|
<p><input type="submit" name="submit" value="立即转账" class="btn btn-primary form-control"/></p>
|
|
|
</form>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="panel-footer">
|
|
|
<h4><span class="glyphicon glyphicon-info-sign"></span>注意事项</h4>
|
|
|
交易号可以防止重复转账,同一个交易号只能提交同一次转账。<br/>
|
|
|
代付手续费是<?php echo $conf['transfer_rate']; ?>%<?php if($conf['transfer_minmoney']>0)echo ',单笔最小代付'.$conf['transfer_minmoney'].'元'; if($conf['transfer_maxmoney']>0)echo ',单笔最大代付'.$conf['transfer_maxmoney'].'元';?>
|
|
|
<?php if($conf['settle_type']==1){?><br/>可转账余额为截止到前一天你的收入+充值的余额。<?php }?>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<?php include 'foot.php';?>
|
|
|
<script src="<?php echo $cdnpublic?>layer/3.1.1/layer.min.js"></script>
|
|
|
<script src="<?php echo $cdnpublic?>jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
|
|
|
<script>
|
|
|
function showneed(){
|
|
|
var money = parseFloat($("input[name='money']").val());
|
|
|
var rate = parseFloat($("input[name='rate']").val());
|
|
|
if(isNaN(money) || isNaN(rate))return;
|
|
|
var need = (money + money * (rate/100)).toFixed(2);
|
|
|
$("input[name='need']").val(need)
|
|
|
}
|
|
|
function checkopenid(){
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
dataType: "json",
|
|
|
url: "ajax.php?act=getopenid",
|
|
|
success: function (data, textStatus) {
|
|
|
if (data.code == 0) {
|
|
|
layer.msg('Openid获取成功');
|
|
|
layer.close($.openidform);
|
|
|
$("input[name='payee_account']").val(data.openid);
|
|
|
}else if($.ostart==true){
|
|
|
setTimeout('checkopenid()', 2000);
|
|
|
}else{
|
|
|
return false;
|
|
|
}
|
|
|
},
|
|
|
error: function (data) {
|
|
|
layer.msg('服务器错误', {icon: 2});
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
$(document).ready(function(){
|
|
|
$("input[name='money']").blur(function(){
|
|
|
showneed()
|
|
|
});
|
|
|
$('#getopenid').click(function () {
|
|
|
if ($(this).attr("data-lock") === "true") return;
|
|
|
$(this).attr("data-lock", "true");
|
|
|
$.ajax({
|
|
|
type : "GET",
|
|
|
url : "ajax.php?act=qrcode",
|
|
|
dataType : 'json',
|
|
|
success : function(data) {
|
|
|
$('#getopenid').attr("data-lock", "false");
|
|
|
if(data.code == 0){
|
|
|
$.openidform = layer.open({
|
|
|
type: 1,
|
|
|
title: '请收款方使用微信扫描以下二维码',
|
|
|
skin: 'layui-layer-demo',
|
|
|
anim: 2,
|
|
|
shadeClose: true,
|
|
|
content: '<div id="qrcode" class="list-group-item text-center" style="height:250px"></div>',
|
|
|
success: function(){
|
|
|
$('#qrcode').qrcode({
|
|
|
text: data.url,
|
|
|
width: 230,
|
|
|
height: 230,
|
|
|
foreground: "#000000",
|
|
|
background: "#ffffff",
|
|
|
typeNumber: -1
|
|
|
});
|
|
|
$.ostart = true;
|
|
|
setTimeout('checkopenid()', 2000);
|
|
|
},
|
|
|
end: function(){
|
|
|
$.ostart = false;
|
|
|
}
|
|
|
});
|
|
|
}else{
|
|
|
layer.alert(data.msg, {icon: 0});
|
|
|
}
|
|
|
},
|
|
|
error:function(data){
|
|
|
layer.msg('服务器错误', {icon: 2});
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
})
|
|
|
</script> |