where('order_id',$post['order_id'])->find(); if(empty($data)) { return app('json')->fail('数据错误'); } if(!empty($data['status'])) { return app('json')->fail('订单已经支付'); } $alipay = new alipay(); $data = $alipay->wapPay([ 'name' => '在线充值'.$data['v'].'元', 'money' => $data['v'], 'order_id' => $data['order_id'] ]); echo $data; } /** * 支付宝返回 */ public function alipayNotifyUrl(){ $alipay = new alipay(); $book = $alipay->verifyNotify($_POST); if(empty($book)) { return "fail"; } $out_trade_no = $_POST['out_trade_no']; $payTrade = new PayTrade(); $data = $payTrade->where('out_trade_no',$out_trade_no)->find(); if(empty($data)) { return 'success'; } if($data['status'] == 1) { return 'success'; } //支付成功 $queryStr = $alipay->query($out_trade_no)->httpBody; $qAr = json_decode($queryStr,true); if($qAr['alipay_trade_query_response']['trade_status'] == 'TRADE_CLOSED') { return "fail"; } //充值费用 if($data['type'] == 'recharge') { $recharge = new Recharge(); $recharge->rechargeSuccess($out_trade_no); } $payTrade->where('id',$data['id'])->save(['status'=>1,'pay_time'=>time()]); return 'success'; } /** * 支付返回 * @param Request $request */ public function alipayReturnUrl(Request $request){ [$out_trade_no] = UtilService::getMore([ ['out_trade_no','','empty','参数错误'] ],$request,true); $payTrade = new PayTrade(); $data = $payTrade->where('out_trade_no',$out_trade_no)->find(); if(empty($data)) { $this->assign('error',"找不到订单数据"); return $this->display('alipay_error'); } $this->assign('data',$data); echo $this->display('alipay_ok'); } // 打印log function log_result($file, $word) { $fp = fopen($file, "a"); flock($fp, LOCK_EX); fwrite($fp, "执行日期:" . strftime("%Y-%m-%d-%H:%M:%S", time()) . "\n" . $word . "\n\n"); flock($fp, LOCK_UN); fclose($fp); } }