epay / website /user /transfer_add.php
xxsxx's picture
Upload 1045 files
0d5b03e verified
<?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>