public static function orderTradeStatus() { $order_id = Input::get('order_id'); $order = AgencyOrder::find($order_id); if (!isset($order)) { return Response::json(array('errCode' => 21, 'message' => '该订单不存在')); } return Response::json(array('errCode' => 0, 'trade_status' => $order->trade_status)); }
public function pay() { $agency_order = AgencyOrder::find(Input::get('order_id')); if (!isset($agency_order)) { return Response::make('无效参数'); } if ($agency_order->trade_status != '0') { return Response::make('该订单已付款'); } return View::make('pages.serve-center.business.pay', ['order' => $agency_order]); }
public function success() { $order_id = Input::get('order_id'); $order = AgencyOrder::find($order_id); if (!isset($order)) { return Response::make('Invalid order'); } if ($order->user_id != Sentry::getUser()->user_id) { return Response::make('Invalid order'); } if ($order->trade_status == '2' || $order->trade_status == '3') { return Response::make('Invalid order'); } return View::make('pages.serve-center.pay.success')->with(array('order' => $order)); }
public static function refund($order_id, $channel = 'WX') { $data = static::returnDataArray(); $refund = RefundRecord::where('order_id', $order_id)->first(); if (!isset($refund)) { return array('errCode' => 21, 'message' => '该订单不存在'); } $order = AgencyOrder::find($order_id); $data["bill_no"] = $order->order_id; $data["refund_no"] = date('Ymd', time()) . time(); $data["refund_fee"] = (int) (($order->capital_sum + $order->service_charge_sum + $order->express_fee) * 100); $data["channel"] = $channel; $data["optional"] = json_decode(json_encode(array("refund_id" => $refund->refund_id), true), true); try { DB::transaction(function () use($refund, $data) { $order_auth_info = new OrderAuthInfo(); $order_auth_info->transactionId = $data["refund_no"]; //交易单号 $order_auth_info->transactionFee = $data["refund_fee"]; //费用 $order_auth_info->save(); $refund->refund_no = $data["refund_no"]; $refund->save(); }); } catch (Exception $e) { return array('errCode' => 21, 'message' => $e->getMessage()); } try { $result = BCRESTApi::refund($data); if ($result->result_code != 0 || $result->result_msg != "OK") { return array('errCode' => 22, 'message' => $result->err_detail); } } catch (Exception $e) { return array('errCode' => 23, 'message' => $e->getMessage()); } return array('errCode' => 0, 'message' => '退款已提交'); }