欢迎你!请   [ 注册账户 ]
接口文档当前位置:首页 >接口文档

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免费服务!


©2014 - 2025 .YOUYUNNET.COM Co.Ltd 蜀ICP备15001575号-4