Exemplo n.º 1
0
 public function backorder()
 {
     header("Content-Type:text/html;charset=utf-8");
     //var_dump($_GET);
     //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
     $alipay_config['partner'] = '2088021119804774';
     //合作身份者id,以2088开头的16位纯数字
     $alipay_config['seller_email'] = '*****@*****.**';
     //收款支付宝账号
     $alipay_config['key'] = 'celthm4ly0ajknddh6hmz0xecmxm68sw';
     //安全检验码,以数字和字母组成的32位字符
     //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
     $alipay_config['sign_type'] = strtoupper('MD5');
     //签名方式 不需修改
     $alipay_config['input_charset'] = strtolower('utf-8');
     //字符编码格式 目前支持 gbk 或 utf-8
     $alipay_config['cacert'] = getcwd() . '\\cacert.pem';
     //ca证书路径地址,用于curl中ssl校验 请保证cacert.pem文件在当前文件夹目录中
     $alipay_config['transport'] = 'http';
     //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
     //计算得出通知验证结果
     $alipayNotify = new AlipayNotify($alipay_config);
     $verify_result = $alipayNotify->verifyReturn();
     $verify_result = true;
     //must comment
     if ($verify_result) {
         //验证成功
         /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //请在这里加上商户的业务逻辑程序代码
         $out_trade_no = $_GET['out_trade_no'];
         //商户订单号
         $trade_no = $_GET['out_trade_no'];
         //支付宝交易号
         $total_fee = $_GET["total_fee"];
         //   $trade_no=10; //comment
         //   $total_fee="219.9";
         if ($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
             //判断该笔订单是否在商户网站中已经做过处理
             //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
             //如果有做过处理,不执行商户的业务程序
             $oneOrder = Orders::where('id', '=', $trade_no)->orderBy('id', 'desc')->get()->first();
             if ($oneOrder == null) {
                 echo "没有找到订单,返回<a href='/demand/my/'>用户中心</a>";
                 exit;
             }
             if ($oneOrder->status == "1") {
                 echo "订单已经支付过了,返回<a href='/demand/my/'>用户中心</a>";
                 exit;
             }
             if ($oneOrder->fee != $total_fee) {
                 echo "支付金额与订单金额不等,返回<a href='/demand/my/'>用户中心</a>";
                 exit;
             }
             //  var_dump($demand);//comment
             $oneOrder->status = 1;
             $oneOrder->save();
             //设置订单状态,查找竞价并设置状态
             //竞价支付保证金
             if ($oneOrder->step == '1') {
                 $buyer_email = "";
                 if (isset($_GET['buyer_email'])) {
                     $buyer_email = $_GET['buyer_email'];
                 }
                 $demand = Demand::where("id", "=", $oneOrder->desn)->get()->first();
                 if ($demand == null) {
                     echo "未找到竞价单,支付失败";
                     exit;
                 }
                 $demand->is_pay = 1;
                 //设置成订单已经支付保证金的情况下
                 $demand->paytime = date("Y-m-d H:i:s");
                 $demand->expire_time = date("Y-m-d H:i:s", strtotime("+ " . $demand->avltime . " hours"));
                 //设置过期时间
                 $demand->deposit = $total_fee;
                 //设置收到的保证金
                 $demand->save();
                 if ($buyer_email) {
                     $buyer = User::where('id', '=', $demand->user_id)->get()->first();
                     $buyer->alipay = $buyer_email;
                     $buyer->save();
                 }
                 echo "支付竞价保证金成功,请刷新页面,返回 <a href='/demand/my/'>用户中心</a>";
             }
             //竞价支付尾款
             if ($oneOrder->step == '2') {
                 $demand = Demand::where("id", "=", $oneOrder->desn)->get()->first();
                 if ($demand == null) {
                     echo "未找到竞价单,支付失败";
                     exit;
                 }
                 $demand->is_pay = 2;
                 //设置成订单已经支付保证金的情况下
                 $demand->status = 2;
                 //设置成已经支付尾款,
                 $demand->save();
                 echo "支付竞价尾款成功,请刷新页面 &nbsp;返回 <a href='/demand/my/'>用户中心</a>";
             }
             //商家支付保证金
             if ($oneOrder->step == '3') {
                 $buyer_email = $_GET['buyer_email'];
                 //支付人的支付宝
                 $res = User::where("id", "=", $oneOrder->desn)->update(array('deposit' => $oneOrder->fee, 'alipay' => $buyer_email));
                 //desn为订单的id在支付保证金时,这个字段存储的是商家的id
                 if ($res) {
                     echo "商家支付保证金成功,请刷新页面";
                 } else {
                     echo "商家支付保证金失败,没有找到此用户";
                 }
             }
         } else {
             echo "trade_status=" . $_GET['trade_status'];
         }
         echo "验证成功<br />";
         //——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
         /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     } else {
         //验证失败
         //如要调试,请看alipay_notify.php页面的verifyReturn函数
         echo "验证失败";
     }
 }
Exemplo n.º 2
0
 public function fahuo(Request $request, $id)
 {
     if ($request->isMethod("post")) {
         $deid = $request->input("deid");
         $demand = Demand::where("id", "=", $deid)->get()->first();
         if (!$demand) {
             return redirect()->back()->withErrors('没有找到订单。');
         }
         $demand->status = 3;
         $demand->save();
         $types = "";
         $deli = new delivery();
         $deli->deid = $deid;
         $deli->uid = $demand->user_id;
         $deli->types = $request->input("express");
         $deli->numbers = $request->input("numbers");
         $deli->notes = $request->input("notes");
         $deli->save();
         return Redirect::to('bid/my/all')->withErrors('发货成功!');
     }
     $demand = Demand::where("id", "=", $id)->get()->first();
     if (!$demand) {
         return redirect()->back()->withErrors('没有找到订单。');
     }
     $user = User::where("id", "=", $demand->user_id)->get()->first();
     $addr = Address::where("id", "=", $demand->addrid)->get()->first();
     $data = array("user" => $user, "demand" => $demand, 'addr' => $addr);
     return view('bid.fahuo')->with($data);
 }