requestData($LogisticCode, $ShipperCode, $OrderCode, $CustomerName); $array = [ 'query' => [ 'RequestData' => urlencode($requestData), 'EBusinessID' => $appId, 'RequestType' => '8002', 'DataSign' => urlencode($this->encrypt($requestData, $appKey)), 'DataType' => '2' ] ]; $result = $client->request('POST', $url, $array); $res = json_decode($result->getBody()->getContents()); //保存订单物流信息 if(isset($res->Traces) && !empty($res->Traces)){ Order::where('order_no',$OrderCode)->update([ 'express_info'=>json_encode($res), 'express_receive_time'=>array_pop($res->Traces)->AcceptTime, 'express_state'=>$res->State ]); } return $res; } private function requestData($LogisticCode,$ShipperCode=null,$OrderCode=null,$CustomerName=null){ if ($ShipperCode){ $data['ShipperCode']=$ShipperCode; } if ($OrderCode){ $data['OrderCode']=$OrderCode; } if ($CustomerName){ $data['CustomerName']=$CustomerName; } $data['LogisticCode']=$LogisticCode; return json_encode($data); } public function encrypt($requireData,$appKey){ return base64_encode(md5($requireData.$appKey)); } }