geSeting('wechat.com'); $gateway=Omnipay::create('WechatPay'); $gateway->setAppId($seting->access_key); $gateway->setMchId($seting->other); $gateway->setApiKey($seting->secret_key); $response = $gateway->completePurchase(['request_params' => file_get_contents('php://input')])->send(); if ($response->isPaid()) { $data = $response->getRequestData(); $out_trade_no = $data['out_trade_no']; $orders = Orders::query()->where('status',0)->where('sn',$out_trade_no)->first(); if ($orders) { if($orders->type==1){//vip $this->vip($orders); } if(!$orders->type){//冲玫瑰 $this->rose($orders); } DB::table('love_orders')->where('id',$orders->id)->where('sn', $out_trade_no)->update(['status'=>1]); } exit(""); }else{ info('pay error'); return false; } } /** * alipay notify * @param Request $request */ public function alipaynotify(){ $seting= $this->geSeting('alipay.com'); $gateway = Omnipay::create('Alipay_AopApp'); $gateway->setSignType('RSA2'); $gateway->setAppId($seting->access_key); $gateway->setPrivateKey($seting->secret_key); $gateway->setAlipayPublicKey($seting->other); $request = $gateway->completePurchase(); $request->setParams($_POST); try { $response = $request->send(); if($response->isPaid()){ $data =$response->getData(); $out_trade_no = $data['out_trade_no']; $orders = Orders::query()->where('status',0)->where('sn',$out_trade_no)->first(); if ($orders) { if($orders->type==1){//vip $this->vip($orders); } if(!$orders->type){//冲玫瑰 $this->rose($orders); } DB::table('love_orders')->where('id',$orders->id)->where('sn', $out_trade_no)->update(['status'=>1]); } die('success'); }else{ die('fail'); } } catch (\Exception $e) { die('fail'); } } /** * 增加 vip * @param $orders */ private function vip($orders){ $vip=Vip::where('id',$orders->xid)->first(); $user=Users::where('id',$orders->uid)->first(); $user->vip=1; $user->vip_time=$user->vip_time+86400*($vip->day+$vip->give_day); $user->rose=$user->rose+$vip->give_rose; $user->save(); // $this->portrait_set($orders->uid,['Tag'=>'Tag_Profile_IM_Level','Value'=>1]); Cache::forget('My'.$orders->uid); Cache::forget('user'.$orders->uid); } /** * 增加rose * @param $orders */ private function rose($orders){ $roses=Roses::where('id',$orders->xid)->first(); $user=Users::where('id',$orders->uid)->first(); $user->rose=$user->rose+$roses->give_rose+$roses->rose; if($roses->give_vip_day){ if($user->vip){ $user->vip_time=$user->vip_time+86400*$roses->give_vip_day; }else{ $user->vip=1; $user->vip_time=time()+86400*$roses->give_vip_day; } //$this->portrait_set($orders->uid,['Tag'=>'Tag_Profile_IM_Level','Value'=>1]); } $user->save(); Cache::forget('My'.$orders->uid); Cache::forget('user'.$orders->uid); } private function geSeting($key){ $seting = Cache::rememberForever($key, function() use ($key){ return AppSettings::where('sole',$key)->where('enabled',1)->first(); }); return $seting; } }