public function index() { if (IS_POST) { //页面上通过表单选择在线支付类型,支付宝为alipay 财付通为tenpay /* 支付设置 */ $payment = array('tenpay' => array('key' => C('TENPAYKEY'), 'partner' => C('TENPAYPARTNER')), 'alipay' => array('email' => C('ALIPAYEMAIL'), 'key' => C('ALIPAYKEY'), 'partner' => C('ALIPAYPARTNER')), 'palpay' => array('business' => C('PALPAYPARTNER')), 'yeepay' => array('key' => C('YEEPAYPARTNER'), 'partner' => C('YEEPAYKEY')), 'kuaiqian' => array('key' => C('KUAIQIANPARTNER'), 'partner' => C('KUAIQIANKEY')), 'unionpay' => array('key' => C('UNIONPARTNER'), 'partner' => C('UNIONKEY'))); $paytype = safe_replace(I('post.paytype')); $pay = new \Think\Pay($paytype, $payment[$paytype]); if (!empty($_POST['orderid'])) { $order_no = safe_replace(I('post.orderid')); $info = M("order")->where("tag='{$order_no}'")->find(); $money = $info['total_money']; $body = C('SITENAME') . "订单支付"; //商品描述 $title = C('SITENAME') . "订单支付"; //设置商品名称 } $vo = new \Think\Pay\PayVo(); $vo->setBody($body)->setFee($money)->setOrderNo($order_no)->setTitle($title)->setCallback("Home/Pay/success")->setUrl(U("Home/Pay/over"))->setParam(array('order_id' => $order_no)); echo $pay->buildRequestForm($vo); } else { $this->meta_title = '支付订单'; //在此之前goods1的业务订单已经生成,状态为等待支付 $id = safe_replace(I("get.orderid")); $order = D("order"); $this->assign('codeid', $id); $total = $order->where("orderid='{$id}'")->getField('total_money'); $this->assign('goodprice', $total); $this->display(); } }
public function pay_param() { if (IS_POST) { $http_post = I('post.'); $paytype = $http_post['paytype']; //在线支付类型,支付宝为alipay 财付通为tenpay $money = $http_post['money']; //充值金额 if ($money < 0.01) { $this->error('充值金额错误!'); } $payment_data = C('payment.' . $paytype); $pay = new \Think\Pay($paytype, $payment_data); $order_no = $pay->createOrderNo(); $user_pay_data['uin'] = session('user.uin'); $user_pay_data['login_key'] = session('user.key'); $user_pay_data['out_trade_no'] = $order_no; $user_pay_data['pay_type'] = $paytype; $user_pay_data['pay_type_name'] = $payment_data['title']; $user_pay_data['money'] = $money; $user_pay_data['body'] = $payment_data['title'] . '在线充值' . $money . '元'; $user_pay_data['status'] = 0; $user_pay_data['remark'] = $payment_data['title'] . '在线充值' . $money . '元'; $user_pay_data['client_ip'] = get_client_ip(); $user_pay_data['create_time'] = time(); $user_pay_add = M('user_pay')->add($user_pay_data); $vo = new \Think\Pay\PayVo(); $vo->setBody('用户ID:' . session('user.uin') . ',在线充值' . $money . '元!')->setFee($money)->setOrderNo($order_no)->setTitle('用户资金在线充值')->setCallback("User/Payment/pay")->setUrl(U("User/Index/index"))->setParam(array('uin' => session('user.uin'), 'order_id' => $user_pay_add)); echo $pay->buildRequestForm($vo); } else { $this->display(); } }
public function index() { if (IS_POST) { //页面上通过表单选择在线支付类型,支付宝为alipay 财付通为tenpay $paytype = I('post.paytype'); $pay = new \Think\Pay($paytype, C('payment.' . $paytype)); if (!empty($_POST['orderid'])) { $order_no = $_POST['orderid']; //未付款订单号 $body = C('SITENAME') . "订单支付"; //商品描述 $title = C('SITENAME') . "订单支付"; //设置商品名称 } //else{ // $order_no = $pay->createOrderNo(); //充值,生成订单号 // $body= C('SITENAME')."会员充值";//商品描述 //} $vo = new \Think\Pay\PayVo(); $vo->setBody($body)->setFee(I('post.money'))->setOrderNo($order_no)->setTitle($title)->setCallback("Home/Pay/success")->setUrl(U("Home/Pay/over"))->setParam(array('order_id' => $order_no)); echo $pay->buildRequestForm($vo); } else { //在此之前goods1的业务订单已经生成,状态为等待支付 $id = I("get.orderid"); $order = D("order"); $this->assign('codeid', $id); $total = $order->where("orderid='{$id}'")->getField('pricetotal'); $this->assign('goodprice', $total); $this->display(); } }
public function chongzhi() { if (IS_POST) { //页面上通过表单选择在线支付类型,支付宝为alipay 财付通为tenpay $paytype = I('post.paytype'); $pay = new \Think\Pay($paytype, C('payment.' . $paytype)); $order_no = $pay->createOrderNo(); //充值,生成订单号 $body = C('SITENAME') . "会员充值"; //商品描述 $title = C('SITENAME') . "会员充值"; //设置商品名称 $vo = new \Think\Pay\PayVo(); $vo->setBody($body)->setFee(I('post.money'))->setOrderNo($order_no)->setTitle($title)->setCallback("Home/Pay/successaccount")->setUrl(U("Home/Pay/over"))->setParam(array('order_id' => $order_no)); echo $pay->buildRequestForm($vo); } else { if (!is_login()) { $this->error("您还没有登陆", U("User/login")); } /* 菜单调用*/ $menu = R('index/menulist'); $this->assign('categoryq', $menu); /* 热词调用*/ $hotsearch = R("Index/getHotsearch"); $this->assign('hotsearch', $hotsearch); /* uid调用*/ $user = session('user_auth'); $uid = $user['uid']; $score = get_score($uid); /* 底部分类调用*/ $menulist = R('Service/AllMenu'); $this->assign('footermenu', $menulist); /* 积分兑换*/ $ratio = $score / C('RATIO'); $this->assign('ratio', $ratio); $this->meta_title = '账号充值'; //在此之前goods1的业务订单已经生成,状态为等待支付 $id = I("get.orderid"); $order = D("order"); $this->assign('codeid', $id); $total = $order->where("orderid='{$id}'")->getField('pricetotal'); $this->assign('goodprice', $total); $this->display(); } }
public function chongzhi() { if (IS_POST) { //页面上通过表单选择在线支付类型,支付宝为alipay 财付通为tenpay /* 支付设置 */ $payment = array('tenpay' => array('key' => C('TENPAYKEY'), 'partner' => C('TENPAYPARTNER')), 'alipay' => array('email' => C('ALIPAYEMAIL'), 'key' => C('ALIPAYKEY'), 'partner' => C('ALIPAYPARTNER')), 'palpay' => array('business' => C('PALPAYPARTNER')), 'yeepay' => array('key' => C('YEEPAYPARTNER'), 'partner' => C('YEEPAYKEY')), 'kuaiqian' => array('key' => C('KUAIQIANPARTNER'), 'partner' => C('KUAIQIANKEY')), 'unionpay' => array('key' => C('UNIONPARTNER'), 'partner' => C('UNIONKEY'))); $paytype = I('post.paytype'); $pay = new \Think\Pay($paytype, $payment[$paytype]); $order_no = $pay->createOrderNo(); //充值,生成订单号 $body = C('SITENAME') . "会员充值"; //商品描述 $title = C('SITENAME') . "会员充值"; //设置商品名称 $vo = new \Think\Pay\PayVo(); $vo->setBody($body)->setFee(I('post.money'))->setOrderNo($order_no)->setTitle($title)->setCallback("Home/Pay/successaccount")->setUrl(U("Home/Pay/over"))->setParam(array('order_id' => $order_no)); echo $pay->buildRequestForm($vo); } else { /* 菜单调用*/ $menu = R('index/menulist'); $this->assign('categoryq', $menu); /* 热词调用*/ $hotsearch = R("Index/getHotsearch"); $this->assign('hotsearch', $hotsearch); /* uid调用*/ $user = session('user_auth'); $uid = $user['uid']; $score = get_score($uid); /* 底部分类调用*/ $menulist = R('Service/AllMenu'); $this->assign('footermenu', $menulist); /* 积分兑换*/ $ratio = $score / C('RATIO'); $this->assign('ratio', $ratio); $this->meta_title = '账号充值'; //在此之前goods1的业务订单已经生成,状态为等待支付 $id = I("get.orderid"); $order = D("order"); $this->assign('codeid', $id); $total = $order->where("orderid='{$id}'")->getField('pricetotal'); $this->assign('goodprice', $total); $this->display(); } }
/** * 在线支付 * 先判断是否是在线充值,在线支付订单需要有订单号; * 查询出订单信息之后将必需信息提交到支付宝; * * 在线充值需在先生成订单信息,然后再将必需信息提交到支付宝; * */ public function index() { if (IS_POST) { $member_id = session('home_member_id'); /*获取充值用户ID*/ if (!$member_id) { $this->error('请登录后在操作', U('/User/Login/index')); } /*接收参数*/ $posts = I('post.'); $order_id = $posts['order_id']; /*获取订单ID*/ $paytype = $posts['pay_type']; /*获取支付方式*/ if ($order_id) { /*判断是订单支付还是在线充值*/ /* 如果有订单ID则是订单支付 */ /*获取即将被支付的订单*/ $info = get_info($this->table, array('id' => $order_id, 'status' => 1)); if (!$info) { $this->error('订单不存在或已经支付'); } /*获取订单号*/ $order_no = $info['order_num']; $title = $info['title']; // $title = '商品一'; $total_price = $info['total_price']; $param = array('order_id' => $order_id, 'shop_id' => $info['shop_id'], 'member_id' => $info['member_id']); } else { /* 没有订单ID则是在线充值 */ $total_price = $posts['recharge_money']; /*获取充值金额*/ if (floatval($total_price) <= 0) { $this->error('充值金额必须大于0'); } $order_no = get_order_num(C('PLATFORM_ID'), $member_id); $title = '账户余额充值'; $_POST = array('title' => $title, 'qty' => '1', 'shop_id' => 0, 'order_num' => $order_no, 'member_id' => $member_id, 'total_price' => $total_price, 'status' => '1', 'pay_type' => '2', 'description' => '账户余额充值', 'type' => '1'); $res = update_data($this->table); if (is_numeric($res)) { /*@liuqiao 购买商品后增加积分*/ $get_coin = get_coin_points($total_price, $member_id); } $param = array('order_id' => $res, 'shop_id' => 0, 'member_id' => $member_id); if (!is_numeric($res)) { $this->error('订单生成失败'); } } if ($paytype == 'alipay') { $callBack = "Pay/pay"; //$total_price=0.01;//测试完后 删除 //$param['test']='1'; // echo $paytype,' -- ',$order_no,' -- ',$title,' -- ',$callBack,' -- ',$param;exit; $callBack = "Pay/pay"; $vo = new \Think\Pay\PayVo(); $vo->setType($paytype)->setBody("支付成功后请不要关闭窗口,等待自动跳转")->setFee($total_price)->setOrderNo($order_no)->setTitle($title)->setCallback($callBack)->setUrl(U('/Pay/success'))->setParam($param); //必要的一些信息,用来产生动态时调用相关数据 $payment_conf = C('payment.' . $paytype); $pay = new \Think\Pay($paytype, $payment_conf); echo $pay->buildRequestForm($vo); } } else { $paytype = 'alipay'; $callBack = "Pay/pay"; $title = '异步通知支付测试'; $total_price = 0.01; $param['test'] = '1'; $order_no = get_order_num(1, 1); $callBack = "Pay/pay"; $vo = new \Think\Pay\PayVo(); $vo->setType($paytype)->setBody("支付成功后请不要关闭窗口,等待自动跳转")->setFee($total_price)->setOrderNo($order_no)->setTitle($title)->setCallback($callBack)->setUrl(U('/Pay/success'))->setParam($param); //必要的一些信息,用来产生动态时调用相关数据 $payment_conf = C('payment.' . $paytype); $pay = new \Think\Pay($paytype, $payment_conf); echo $pay->buildRequestForm($vo); } }