Example #1
0
 /**
  * 修改财务
  */
 public function modify_deposit()
 {
     if (isset($_POST['dosubmit'])) {
         $username = isset($_POST['username']) && trim($_POST['username']) ? trim($_POST['username']) : showmessage(L('username') . L('error'));
         $usernote = isset($_POST['usernote']) && trim($_POST['usernote']) ? addslashes(trim($_POST['usernote'])) : showmessage(L('usernote') . L('error'));
         $userinfo = $this->get_useid($username);
         if ($userinfo) {
             // 如果增加金钱或点数,想pay_account 中记录数据
             if ($_POST['pay_unit']) {
                 $value = floatval($_POST['unit']);
                 $payment = L('admin_recharge');
                 $receipts = Loader::lib('pay:receipts');
                 $func = $_POST['pay_type'] == '1' ? 'amount' : 'point';
                 $receipts->{$func}($value, $userinfo['userid'], $username, create_sn(), 'offline', $payment, cookie('admin_username'), $status = 'succ', $usernote);
             } else {
                 $value = floatval($_POST['unit']);
                 $msg = L('background_operation') . $usernote;
                 $spend = Loader::lib('pay:spend');
                 $func = $_POST['pay_type'] == '1' ? 'amount' : 'point';
                 $spend->{$func}($value, $msg, $userinfo['userid'], $username, cookie('userid'), cookie('admin_username'));
             }
             if (intval($_POST['sendemail'])) {
                 $op = $_POST['pay_unit'] ? $value : '-' . $value;
                 $op = $_POST['pay_type'] ? $op . L('yuan') : $op . L('point');
                 $msg = L('account_changes_notice_tips', array('username' => $username, 'time' => date('Y-m-d H:i:s', TIME), 'op' => $op, 'note' => $usernote, 'amount' => $userinfo['amount'], 'point' => $userinfo['point']));
                 sendmail($userinfo['email'], L('send_account_changes_notice'), $msg);
             }
             showmessage(L('public_discount_succ'), HTTP_REFERER);
         }
     } else {
         $show_validator = true;
         include $this->view('modify_deposit');
     }
 }
Example #2
0
	public function pay() {	
		$memberinfo = $this->memberinfo;
		$pay_types = $this->handle->get_paytype();
		$trade_sn = create_sn();
		param::set_cookie('trade_sn',$trade_sn);
		$show_validator = 1;
		include template('pay', 'deposit');
	}
Example #3
0
 /**
  * 添加入账记录
  * @param array $data 添加入账记录参数
  */
 private static function _add($data)
 {
     $data['money'] = isset($data['money']) && floatval($data['money']) ? floatval($data['money']) : 0;
     $data['userid'] = isset($data['userid']) && intval($data['userid']) ? intval($data['userid']) : 0;
     $data['username'] = isset($data['username']) ? trim($data['username']) : '';
     $data['trade_sn'] = isset($data['trade_sn']) && $data['trade_sn'] ? trim($data['trade_sn']) : create_sn();
     $data['pay_type'] = isset($data['pay_type']) ? trim($data['pay_type']) : 'selfincome';
     $data['payment'] = isset($data['payment']) ? trim($data['payment']) : '';
     $data['adminnote'] = isset($data['op_username']) ? trim($data['op_username']) : '';
     $data['usernote'] = isset($data['usernote']) ? trim($data['usernote']) : '';
     $data['status'] = isset($data['status']) ? trim($data['status']) : 'succ';
     $data['type'] = isset($data['type']) && intval($data['type']) ? intval($data['type']) : 0;
     $data['addtime'] = TIME;
     $data['ip'] = IP;
     //检察消费类型
     if (!in_array($data['type'], array(1, 2))) {
         return false;
     }
     //检查入账类型
     if (!in_array($data['pay_type'], array('offline', 'recharge', 'selfincome'))) {
         return false;
     }
     //检查入账状态
     if (!in_array($data['status'], array('succ', 'error', 'failed'))) {
         return false;
     }
     //检查消费描述
     if (empty($data['payment'])) {
         return false;
     }
     //检查消费金额
     if (empty($data['money'])) {
         return false;
     }
     //检查userid和username并偿试再次的获取
     if (empty($data['userid']) || empty($data['username'])) {
         if (defined('IN_ADMIN')) {
             return false;
         } elseif (!($data['userid'] = cookie('_userid') || !($data['username'] = cookie('_username')))) {
             return false;
         } else {
             return false;
         }
     }
     //检查op_userid和op_username并偿试再次的获取
     if (defined('IN_ADMIN') && empty($data['adminnote'])) {
         $data['adminnote'] = cookie('admin_username');
     }
     //数据库连接
     if (empty(self::$db)) {
         self::connect();
     }
     $member_db = Loader::model('member_model');
     $sql = array();
     if ($data['type'] == 1) {
         //金钱方式充值
         $sql = array('amount' => "+=" . $data['money']);
     } elseif ($data['type'] == 2) {
         //积分方式充值
         $sql = array('point' => '+=' . $data['money']);
     } else {
         return false;
     }
     //进入数据库操作
     $insertid = self::$db->insert($data, true);
     if ($insertid && $data['status'] == 'succ') {
         return $member_db->where(array('userid' => $data['userid'], 'username' => $data['username']))->update($sql) ? true : false;
     } else {
         return false;
     }
 }
Example #4
0
 public function alipayapi()
 {
     $alipay_config = $this->alipay_config();
     /**************************请求参数**************************/
     //支付类型
     $payment_type = "1";
     //必填,不能修改
     //服务器异步通知页面路径
     $notify_url = U('Alipay/notify_url', '', '', '', true);
     //        $notify_url ='http://'.$_SERVER['HTTP_HOST'].'/wx/index.php?m=Alipay&a=notify_url';//U('Alipay/notify_url');
     //需http://格式的完整路径,不能加?id=123这类自定义参数
     //页面跳转同步通知页面路径
     $return_url = U('Alipay/return_url', '', '', '', true);
     //        $return_url = 'http://'.$_SERVER['HTTP_HOST'].'/wx/index.php?m=Alipay&a=return_url';//U('Alipay/return_url');
     //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
     //卖家支付宝帐户
     //        $seller_email = $_POST['WIDseller_email'];
     $seller_email = $alipay_config['pay_account'];
     //必填
     //商户订单号
     //        $out_trade_no = $_POST['WIDout_trade_no'];
     $out_trade_no = create_sn();
     //date('YmdHis').rand(0,9999);
     //商户网站订单系统中唯一订单号,必填
     //订单名称
     //        $subject = $_POST['WIDsubject'];
     $subject = "在线充值";
     //必填
     //付款金额
     $price = '0.01';
     //必填
     //商品数量
     $quantity = "1";
     //必填,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品
     //物流费用
     $logistics_fee = "0.00";
     //必填,即运费
     //物流类型
     $logistics_type = "EXPRESS";
     //必填,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
     //物流支付方式
     $logistics_payment = "SELLER_PAY";
     //必填,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
     //订单描述
     $body = $_POST['WIDbody'];
     //商品展示地址
     $show_url = $_POST['WIDshow_url'];
     //需以http://开头的完整路径,如:http://www.xxx.com/myorder.html
     //收货人姓名
     $receive_name = $_POST['WIDreceive_name'];
     //如:张三
     //收货人地址
     $receive_address = $_POST['WIDreceive_address'];
     //如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号
     //收货人邮编
     $receive_zip = $_POST['WIDreceive_zip'];
     //如:123456
     //收货人电话号码
     $receive_phone = $_POST['WIDreceive_phone'];
     //如:0571-88158090
     //收货人手机号码
     $receive_mobile = $_POST['WIDreceive_mobile'];
     //如:13312341234
     /************************************************************/
     //构造要请求的参数数组,无需改动
     $parameter = array("service" => "trade_create_by_buyer", "partner" => trim($alipay_config['partner']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "price" => $price, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "body" => $body, "show_url" => $show_url, "receive_name" => $receive_name, "receive_address" => $receive_address, "receive_zip" => $receive_zip, "receive_phone" => $receive_phone, "receive_mobile" => $receive_mobile, "_input_charset" => trim(strtolower($alipay_config['input_charset'])));
     dump($parameter);
     //建立请求
     $alipaySubmit = new AlipaySubmit($alipay_config);
     $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "确认并支付");
     echo $html_text;
     //        $model=M('Payment');
     //        $data['memberid']=session('id');
     //        $data['membername']=session('account');
     //        $data['payno']=$out_trade_no;
     //        $data['businesstype']=$subject;
     //        $data['paytypeid']=$alipay_config['payid'];
     //        $data['paytypename']=$alipay_config['payname'];
     //        $data['paymoney']=$price;
     //        $data['payip']=get_client_ip();
     //        $data['paybody']=$body;
     //        $data['status']='unpay';
     //        $data['create_time']=time();
     //        if(false===$model->add($data)){
     //            $this->error('操作失败');
     //        }
     //        $this->assign('paymoney',$price);
     //        $this->assign('paytypename',$alipay_config['payname']);
     //        $this->assign('html_text',$html_text);
     //        $this->seo('支付确认', '', '', 'pay');
     //        C('TOKEN_ON',false);//关闭表单令牌
     //        $this->display();
 }
Example #5
0
 /**
  * 修改财务
  * Enter description here ...
  */
 public function modify_deposit()
 {
     if (isset($_POST['dosubmit'])) {
         $username = isset($_POST['username']) && trim($_POST['username']) ? trim($_POST['username']) : showmessage(L('username') . L('error'));
         $usernote = isset($_POST['usernote']) && trim($_POST['usernote']) ? addslashes(trim($_POST['usernote'])) : showmessage(L('usernote') . L('error'));
         $userinfo = $this->get_useid($username);
         if ($userinfo) {
             //如果增加金钱或点数,想pay_account 中记录数据
             if ($_POST['pay_unit']) {
                 $value = floatval($_POST['unit']);
                 $payment = L('admin_recharge');
                 $receipts = pc_base::load_app_class('receipts');
                 $func = $_POST['pay_type'] == '1' ? 'amount' : 'point';
                 $receipts->{$func}($value, $userinfo['userid'], $username, create_sn(), 'offline', $payment, param::get_cookie('admin_username'), $status = 'succ');
             } else {
                 $value = floatval($_POST['unit']);
                 $msg = '后台操作';
                 $spend = pc_base::load_app_class('spend');
                 $func = $_POST['pay_type'] == '1' ? 'amount' : 'point';
                 $spend->{$func}($value, $msg, $userinfo['userid'], $username, param::get_cookie('userid'), param::get_cookie('admin_username'));
             }
             showmessage(L('public_discount_succ'));
         }
     } else {
         $show_validator = true;
         include $this->admin_tpl('modify_deposit');
     }
 }
Example #6
0
 function payinsert()
 {
     $membername = $_POST['membername'];
     $membermap['account'] = array('eq', $membername);
     $member = D('Member')->where($membermap)->field('id,amount,intergral')->find();
     $memberid = $member['id'];
     if (empty($memberid)) {
         $this->error('用户名输入错误!');
     }
     $price = $_POST['value'];
     if (!preg_match('/^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$/i', $price)) {
         $this->error('充值金额必须为整数或小数(保留两位小数)');
     }
     $type = $_POST['type'];
     $body = $_POST['msg'];
     $optype = $_POST['optype'];
     if ($optype == 1) {
         //增加
         $model = D('Payment');
         $data['memberid'] = $memberid;
         $data['membername'] = $membername;
         $data['payno'] = create_sn();
         $data['businesstype'] = '线下支付';
         $data['paytypeid'] = 0;
         $data['paytypename'] = '后台充值';
         $data['paymoney'] = $price;
         $data['type'] = $type;
         //1是金钱,2是积分
         $data['payip'] = get_client_ip();
         $data['paybody'] = $body;
         $data['status'] = 1;
         $data['create_time'] = time();
         if (false !== $model->add($data)) {
             $map['id'] = $memberid;
             $map['account'] = $membername;
             if ($type == 1) {
                 $member = M('Member')->where($map)->setInc('amount', $price);
                 //帐户余额增加
             }
             if ($type == 2) {
                 $member = M('Member')->where($map)->setInc('intergral', $price);
                 //积分点数增加
             }
             $this->success('操作成功');
         } else {
             $this->error('操作失败');
         }
     } elseif ($optype == 2) {
         if ($type == 1) {
             if ($price > $member['amount']) {
                 $this->error('用户当前余额少于所减金钱!');
             }
         }
         if ($type == 2) {
             if ($price > $member['intergral']) {
                 $this->error('用户当前积分小于所减积分!');
             }
         }
         $model = M('Payspend');
         $data['memberid'] = $memberid;
         $data['membername'] = $membername;
         $data['type'] = $type;
         $data['value'] = $price;
         $data['msg'] = "后台操作" . $body;
         $data['userid'] = session('id');
         $data['username'] = session('account');
         $data['create_time'] = time();
         if (false !== $model->add($data)) {
             $map['id'] = $memberid;
             $map['account'] = $membername;
             if ($type == 1) {
                 $member = M('Member')->where($map)->setDec('amount', $price);
                 //帐户余额减少
             }
             if ($type == 2) {
                 $member = M('Member')->where($map)->setDec('intergral', $price);
                 //积分点数减少
             }
             $this->success('操作成功');
         } else {
             $this->error('操作失败');
         }
     } else {
         $this->error('操作错误');
     }
 }
Example #7
0
 public function paylist()
 {
     $this->checkUser();
     if (isset($_POST['name'])) {
         $map['payno'] = array('like', "%" . I('post.name') . "%");
     }
     //状态
     if (isset($_POST['zt']) && $_POST['zt'] != -2) {
         $map['status'] = array('eq', I('zt'));
         $this->zt = I('zt');
     }
     $map['memberid'] = array('eq', session('id'));
     $map['membername'] = array('eq', session('account'));
     //获取分页设置
     $Model = M('Model');
     $mapmodel['table'] = array('eq', 'Weixin');
     $pageinfo = $Model->where($mapmodel)->find();
     $Form = M('Payment');
     import("@.ORG.Page");
     //导入分页类
     $count = $Form->where($map)->count();
     //计算总数
     $Page = new Page($count, $pageinfo['listrows']);
     $list = $Form->where($map)->limit($Page->firstRow . ',' . $Page->listRows)->order('create_time desc')->select();
     $alipay_config = $this->alipay_config();
     /**************************请求参数**************************/
     if (!empty($alipay_config)) {
         //支付类型
         $payment_type = "1";
         //必填,不能修改
         //服务器异步通知页面路径
         //$notify_url = U('Member/notify_url','','','',true);
         $notify_url = 'http://' . $_SERVER['HTTP_HOST'] . __APP__ . '/Member/notify_url';
         //U('Member/notify_url','','','',true);
         //需http://格式的完整路径,不能加?id=123这类自定义参数
         //页面跳转同步通知页面路径
         $return_url = 'http://' . $_SERVER['HTTP_HOST'] . __APP__ . '/Member/return_url';
         //U('Member/return_url','','','',true);
         //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
         //卖家支付宝帐户
         //        $seller_email = $_POST['WIDseller_email'];
         $seller_email = $alipay_config['pay_account'];
         //必填
         //商户订单号
         //        $out_trade_no = $_POST['WIDout_trade_no'];
         $out_trade_no = create_sn();
         //date('YmdHis').rand(0,9999);
         //商户网站订单系统中唯一订单号,必填
         foreach ($list as $key => $value) {
             //订单名称
             $subject = $value['businesstype'];
             //付款金额
             $price = $value['paymoney'] + $value['discount'];
             //商品数量
             $quantity = "1";
             //必填,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品
             //物流费用
             $logistics_fee = "0.00";
             //必填,即运费
             //物流类型
             $logistics_type = "EXPRESS";
             //必填,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
             //物流支付方式
             $logistics_payment = "SELLER_PAY";
             //必填,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
             //订单描述
             $body = $value['paybody'];
             //构造要请求的参数数组,无需改动
             $parameter = array("service" => "trade_create_by_buyer", "partner" => trim($alipay_config['partner']), "payment_type" => $payment_type, "notify_url" => $notify_url, "return_url" => $return_url, "seller_email" => $seller_email, "out_trade_no" => $out_trade_no, "subject" => $subject, "price" => $price, "quantity" => $quantity, "logistics_fee" => $logistics_fee, "logistics_type" => $logistics_type, "logistics_payment" => $logistics_payment, "body" => $body, "show_url" => $show_url, "receive_name" => $receive_name, "receive_address" => $receive_address, "receive_zip" => $receive_zip, "receive_phone" => $receive_phone, "receive_mobile" => $receive_mobile, "_input_charset" => trim(strtolower($alipay_config['input_charset'])));
             //建立请求
             $alipaySubmit = new AlipaySubmit($alipay_config);
             $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "付款");
             $list[$key]['pay_btn'] = $html_text;
         }
     }
     // 设置分页显示
     $Page->setConfig('header', $pageinfo['header']);
     $Page->setConfig('first', $pageinfo['first']);
     $Page->setConfig('last', $pageinfo['last']);
     $Page->setConfig('prev', $pageinfo['prev']);
     $Page->setConfig('next', $pageinfo['next']);
     $Page->setConfig('theme', $pageinfo['theme']);
     $page = $Page->show();
     $this->assign("page", $page);
     $this->assign("list", $list);
     $this->seo('充值记录', '', '', 'paylist');
     C('TOKEN_ON', false);
     //关闭表单令牌
     $this->display();
 }