PHP单号网支付宝+财付通免签约充值接口 下载
2021-01-08 21:12:14
文件名:YybpayAction.class.php
存放目录:AppLibActionIndex
<?php
class YybpayAction extends Action
{
private function create_orderno($type)
{
$order_no = $type . date('Ymd') . substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), -8, 8);
return $order_no;
}
private function getDate()
{
return date('Y-m-d H:i:s');
}
public function youyunpay()
{
$money=str_replace(',', '', trim($_POST['money']));//付款金额
$name=trim(htmlspecialchars($_POST['name'])); //付款说明,参数一
$key=trim(htmlspecialchars($_POST['key'])); //密钥
$lb=trim(htmlspecialchars($_POST['lb'])); //类别 0支付宝普通 1二维码 2 财付通
$ddh=trim(htmlspecialchars($_POST['ddh'])); //支付宝财付通交易号
$config = M('config')->where('id=1')->find();
$reg_setting = json_decode($config['reg_setting'], true);
if ( strstr( $money, "," ) )
{
$money = ltrim( $money, "," );
}
if ($money == '') {
echo 'money error';
exit();
}
if ($ddh == '') {
echo 'ddh error';
exit();
}
if ($lb == '') {
echo 'lb error';
exit();
}
if ($lb == '1') {
$lbtext='支付宝';
$order_type=0;
$userwhere = array( );
$userwhere['id'] = $name;
}
if ($lb == '2') {
$lbtext='财付通';
$order_type=1;
$userwhere = array( );
$userwhere['id'] = $name;
}
$order = D( "pay_order" )->where( "outer_order_no='".$ddh."'" )->count( );
if ( 0 == $order ){
$user = M('user')->where($userwhere)->find();
$userid=$user['id'];
if (empty($user)) {
echo 'user errot';
exit();
}
$paydata = array();
$model = new Model('pay_order');
$paydata['user_id'] = $userid;
$paydata['user_type'] = '1';
$paydata['pay_money'] = $money;
$paydata['order_no'] = $this->create_orderno('YYBPAY');
$paydata['outer_order_no'] = $ddh;
$paydata['pay_title'] = $name;
$paydata['type'] = 1;
$paydata['comm'] = 'YYBPAY[' . $lbtext . ']';
$paydata['status'] = 1;
$paydata['order_type'] = $order_type;
$paydata['addtime'] = $this->getDate();
$model->startTrans();
//修改日志文档,前台同步显示
$User = M("pay_orderlog");
$data['log_zt'] =1;
$data['log_aliddh'] = $ddh;
$User->where('log_zt=0 and log_uid='.$userid.'')->save($data); // 根据条件保存修改的数据
if (false !== $model->data($paydata)->add()) {
$user_model = new Model('user');
$userdata = array();
$userdata['id'] = $userid;
$userdata['money'] = $user['money'] + $money;
if ($reg_setting['reg_zengsong'] == 1) {
$config = M('config')->where('id=1')->find();
$payrule_setting = json_decode($config['payrule_setting'], true);
foreach ($payrule_setting as $row) {
if (((double) $row['start'] <= $money) && ($money <= (double) $row['end'])) {
$give = (double) $row['give'];
$grade = (int) $row['grade'];
$userdata['money'] = $user['money'] + $money + $give;
$songtext = '送' . $give . '元';
$pay_title = '送' . $give . '元';
$rs = M('user')->where('id=' . $userid)->find();
if ($rs) {
$user_type = (int) $rs['user_type'];
if ($user_type < $grade) {
$userdata['user_type'] = $grade;
$level = M('user_level')->where('id=' . $grade)->find();
if ($level) {
$songtext .= '+' . $level['title'];
$level_name = '+' . $level['title'];
}
}
}
$cod = date('YmdHis').rand(0,9999);
$zs_order_no = 'ZS-' . date('YmdHis').$cod;
$paydata['user_id'] = $userid;
$paydata['user_type'] = $user['user_type'];
$paydata['pay_money'] = $give;
$paydata['order_no'] = $zs_order_no;
$paydata['outer_order_no'] = $zs_order_no;
$paydata['pay_title'] = $pay_title . $level_name;
$paydata['type'] = 1;
$paydata['comm'] = 'YYB-CZ[' . $songtext . ']';
$paydata['status'] = 1;
$paydata['order_type'] = 2;
$paydata['addtime'] = $this->getDate();
$model->data($paydata)->add();
break;
}
}
}
if (false !== $user_model->where('id=' . $userid)->save($userdata)) {
$reason = $ddh . ' - '. $lbtext .'充值 - '. $songtext;
$account_log = array();
$account_log['user_id'] = $userid;
$account_log['stage'] = 'recharge';
$account_log['money'] = $money;
$account_log['comm'] = $reason;
$account_log['addtime'] = $this->getDate();
$account_log['remain_money'] = $userdata['money'];
$account_log['remain_refer_money'] = $user['refer_money'];
if (false !== D('account_log')->data($account_log)->add()) {
$model->commit();
echo 'ok';
exit();
}
else {
$model->rollback();
echo 'no1';
exit();
}
}
else {
$model->rollback();
echo 'no2';
exit();
}
}
else {
$model->rollback();
echo 'no3';
exit();
}
}else {
echo 'ddh-chong fu';
exit();
}
}
}
?>软件提交地址:接收网址http://网址.com /index.php/Yybpay/youyunpay
KEY设置 登陆后台 支付设置 密匙
如有疑问请联系QQ客服 1对1免费服务!

