'AL','alaska'=>'AK','arizona'=>'AZ','arkansas'=>'AR','california'=>'CA','colorado'=>'CO','connecticut'=>'CT','delaware'=>'DE','florida'=>'FL','georgia'=>'GA','hawaii'=>'HI','idaho'=>'ID','illinois'=>'IL','indiana'=>'IN','iowa'=>'IA','kansas'=>'KS','kentucky'=>'KY','louisiana'=>'LA','maine'=>'ME','maryland'=>'MD','massachusetts'=>'MA','michigan'=>'MI','minnesota'=>'MN','mississippi'=>'MS','missouri'=>'MO','montana'=>'MT','nebraska'=>'NE','nevada'=>'NV','new hampshire'=>'NH','new jersey'=>'NJ','new mexico'=>'NM','new york'=>'NY','north carolina'=>'NC','north dakota'=>'ND','ohio'=>'OH','oklahoma'=>'OK','oregon'=>'OR','pennsylvania'=>'PA','rhode island'=>'RI','south carolina'=>'SC','south dakota'=>'SD','tennessee'=>'TN','texas'=>'TX','utah'=>'UT','vermont'=>'VT','virginia'=>'VA','washington'=>'WA','west virginia'=>'WV','wisconsin'=>'WI','wyoming'=>'WY','district of columbia'=>'DC','virgin islands'=>'VI'); $data['province'] = preg_replace('/( | | |\s)/',' ',$data['province']); $data['province'] = trim($data['province'],' '); $dataprovince = strlen($data['province'])==2?$data['province']:$ToState[strtolower($data['province'])]; $data['province'] = $dataprovince; //your account details here $key = 'L7Vtg0uUP0BxgNfp'; $password = 'iOqmHwfjx12sxszdEZstGtRYs'; $AccountNumber = '644155250'; $MeterNumber = '250140772'; $xml = ''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''.$key.''; $xml.=''.$password.''; $xml.=''; $xml.=''; $xml.=''.$key.''; $xml.=''.$password.''; $xml.=''; $xml.=''; $xml.=''; $xml.=''.$AccountNumber.''; $xml.=''.$MeterNumber.''; $xml.=''; $xml.=''; //$xml.='Ship_International_basic'; $xml.=''; $xml.=''; $xml.='ship'; $xml.='23'; $xml.='0'; $xml.='0'; $xml.=''; $xml.=''; $xml.=''.date('Y-m-d',time()).'T'.date('H:i:s',time()).'-12:00'.''; $xml.='REGULAR_PICKUP'; $xml.='INTERNATIONAL_PRIORITY';//优先。INTERNATIONAL_ECONOMY经济 //超过重量需要换包装,现在不设置,超出也按0.4走 if($data['zzl'] < '0.5') { $xml.='FEDEX_PAK'; } else { $xml.='FEDEX_BOX'; } $xml.='';//发货人信息开始 $xml.=''.$AccountNumber.''; $xml.=''; $xml.=''.$data['warehouse']['company'].'';//$data['warehouse']['company'] $xml.=''.$data['warehouse']['company'].'';//$data['warehouse']['company'] $xml.=''.$data['warehouse']['phone'].'';//$data['warehouse']['phone'] //$xml.=''.$data['warehouse']['name'].''; $xml.=''; $xml.=''; $xml.='4703,building C,bodi center,ningwei street';//$data['warehouse']['address'] $xml.=''.$data['warehouse']['city'].'';//$data['warehouse']['city'] //$xml.='TN'; $xml.='450016';//$data['warehouse']['zipcode'] //许昌联邦要求使用郑州邮编:450016 $xml.=''.$data['warehouse']['lb'].''; $xml.=''; $xml.=''; $xml.='';//收货人信息开始 $xml.=''.$AccountNumber.''; $xml.=''; $xml.=''.$data['name'].''; $xml.=''.$data['name'].''; $xml.=''.$data['phone'].''; //$xml.=''.$data['name'].''; $xml.=''; $xml.=''; $xml.=''.$data['address'].''; $xml.=''.$data['address2'].''; $xml.=''.$data['city'].''; $xml.=''.$data['province'].''; $xml.=''.$data['zipcode'].''; $xml.=''.$data['lb'].''; $xml.=''; $xml.=''; $xml.=''; $xml.='SENDER'; $xml.=''; $xml.=''; $xml.=''.$AccountNumber.''; $xml.=''; $xml.='He Cong'; //$xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; //ETD开始 $xml.=''; $xml.='ELECTRONIC_TRADE_DOCUMENTS'; $xml.=''; $xml.='COMMERCIAL_INVOICE'; $xml.=''; $xml.=''; //ETD结束 $xml.=''; $xml.=''; $xml.='RECIPIENT'; $xml.=''; $xml.=''; $xml.=''; //$xml.=''; //$xml.='BUSINESS_STATE';//雇主识别代码BUSINESS_NATIONAL、BUSINESS_STATE、BUSINESS_UNION、PERSONAL_NATIONAL、PERSONAL_STATE //$xml.='213456';//这里填税号 //$xml.=''; //$xml.=''; //$xml.='12345'; //$xml.='INPUT YOUR INFORMATION'; //$xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.='DOCUMENTS_ONLY'; $xml.=''; $xml.='USD'; $xml.=''.$data['zsbjz'].''; $xml.=''; //DESC1---:Commodities循环 $xml.=''; $xml.=''.$data['zjs'].'';//件数 $xml.=''.$data['sbpm'].' HSCODE:67041900';//描述 $xml.='CN'; $xml.='';//需要填写重量 $xml.='KG';//重量:磅 $xml.='0.4';//重量填写单位为KG $data['zzl'] $xml.=''; $xml.=''.$data['ts'].'';//需要填写数量 $xml.='cm'; $xml.=''; $xml.='USD'; $xml.=''.$data['dtsbjz'].''; $xml.=''; $xml.=''; /** //DESC2 $xml.=''; $xml.='0';//件数 $xml.='WIGS SYNTHETIC HAIR PRODUCTS';//描述 $xml.='CN'; $xml.='';//需要填写重量 $xml.='KG';//重量:磅 $xml.='0.0001';//重量填写单位为KG $xml.=''; $xml.='1';//需要填写数量 $xml.='cm'; $xml.=''; $xml.='USD'; $xml.='0'; $xml.=''; $xml.=''; //DESC3 $xml.=''; $xml.='0';//件数 $xml.='MAKE WOMEN MORE BEAUTIFUL WITH THE HAIR';//描述 $xml.='CN'; $xml.='';//需要填写重量 $xml.='KG';//重量:磅 $xml.='0.0001';//重量填写单位为KG $xml.=''; $xml.='1';//需要填写数量 $xml.='cm'; $xml.=''; $xml.='USD'; $xml.='0'; $xml.=''; $xml.=''; //DESC4 $xml.=''; $xml.='0';//件数 $xml.='MADE IN CHINA';//描述 $xml.='CN'; $xml.='';//需要填写重量 $xml.='KG';//重量:磅 $xml.='0.0001';//重量填写单位为KG $xml.=''; $xml.='1';//需要填写数量 $xml.='cm'; $xml.=''; $xml.='USD'; $xml.='0'; $xml.=''; $xml.=''; **/ $xml.=''; $xml.='30.37(f)'; $xml.=''; $xml.=''; $xml.=''; $xml.='COMMON2D'; $xml.='PDF'; $xml.='STOCK_4X6.75'; $xml.=''; //发票参数开始 $xml.=''; $xml.='COMMERCIAL_INVOICE'; //ETD $xml.=''; $xml.=''; $xml.='PDF'; $xml.='PAPER_LETTER'; $xml.='true'; $xml.=''; $xml.=''; $xml.='LETTER_HEAD'; $xml.='IMAGE_1'; $xml.=''; $xml.=''; $xml.='SIGNATURE'; $xml.='IMAGE_2'; $xml.=''; //ETD $xml.=''; $xml.=''; //发票参数结束 $xml.='LIST';//费率请求类型 $xml.=''.$data['zjs'].'';//包装数量 $xml.=''; $xml.='1'; $xml.=''; $xml.='KG'; $xml.=''.$data['zzl'].''; $xml.=''; //超过重量需要填尺寸,现在不设置,超出也按0.4走 if($data['zzl'] > '0.4') { $xml.=''; $xml.='4';//$data['boxlength'] $xml.='20'; $xml.='30'; $xml.='CM'; $xml.=''; } //$xml.='Book';//阿联酋需要选择 $xml.=''; $xml.='CUSTOMER_REFERENCE'; $xml.=''.$data['number'].''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://ws.fedex.com:443/web-services'); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $result_xml = curl_exec($ch); $result_xml = str_replace(array(':','-'), '', $result_xml); @$values = json_decode(json_encode(simplexml_load_string($result_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); if(isset($values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['MasterTrackingId']['TrackingNumber'])) { $g = array('x'=>'1','waybill'=>$values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['MasterTrackingId']['TrackingNumber'],'label'=>$values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['CompletedPackageDetails']['Label']['Parts']['Image'],'invoice'=>$values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['ShipmentDocuments']['Parts']['Image']); } else if(isset($values['SOAPENVBody']['ProcessShipmentReply']['Notifications'])) { $a = ''; if(isset($values['SOAPENVBody']['ProcessShipmentReply']['Notifications']['LocalizedMessage'])) { $a = $values['SOAPENVBody']['ProcessShipmentReply']['Notifications']['LocalizedMessage']; } else { foreach ($values['SOAPENVBody']['ProcessShipmentReply']['Notifications'] as $v) { $a .= $v['LocalizedMessage'].'--'; } } $g = array('x'=>'0','Description'=>$a); } else { $g = array('x'=>'0','Description'=>'未知错误'); } return $g; } public function get_Upload_signature($id='',$img='')//上传签名图片 { /** //一下为旧的测试账号 $key = 'lx0vfuP9eZMXyDdd'; $password = '1e6HFUgU1SxoZ6CpYMXBupqQY'; $AccountNumber = '510087720'; $MeterNumber = '100421603'; **/ //以下为旧的正式账号 /** $key = 'L7Vtg0uUP0BxgNfp'; $password = 'iOqmHwfjx12sxszdEZstGtRYs'; $AccountNumber = '644155250'; $MeterNumber = '250140772'; **/ $key = 'L7Vtg0uUP0BxgNfp'; $password = 'iOqmHwfjx12sxszdEZstGtRYs'; $AccountNumber = '644155250'; $MeterNumber = '250140772'; $xml=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''.$key.''; $xml.=''.$password.''; $xml.=''; $xml.=''; $xml.=''.$key.''; $xml.=''.$password.''; $xml.=''; $xml.=''; $xml.=''; $xml.=''.$AccountNumber.''; $xml.=''.$MeterNumber.''; $xml.=''; $xml.=''; $xml.='UploadImagesRequest_v11'; $xml.=''; $xml.=''; $xml.='cdus'; $xml.='11'; $xml.='0'; $xml.='0'; $xml.=''; $xml.=''; $xml.='IMAGE_2';//填IMAGE_1和IMAGE_2,两个都需要传一遍 $xml.='';//填LOGO 700*50 64编码 不用站长工具,转换错误 $xml.=''; $xml.=''; $xml.=''; $xml.=''; $ch = curl_init(); //https://ws.fedex.com:443/web-services 正式 //https://wsbeta.fedex.com:443/web-services 测试 curl_setopt($ch, CURLOPT_URL, 'https://ws.fedex.com:443/web-services'); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $result_xml = curl_exec($ch); $result_xml = str_replace(array(':','-'), '', $result_xml); @$values = json_decode(json_encode(simplexml_load_string($result_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; } public function get_logistics($number)//追踪快递 { $key = 'L7Vtg0uUP0BxgNfp'; $password = 'iOqmHwfjx12sxszdEZstGtRYs'; $AccountNumber = '644155250'; $MeterNumber = '250140772'; $xml=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''.$key.''; $xml.=''.$password.''; $xml.=''; $xml.=''; $xml.=''.$key.''; $xml.=''.$password.''; $xml.=''; $xml.=''; $xml.=''; $xml.=''.$AccountNumber.''; $xml.=''.$MeterNumber.''; $xml.=''; $xml.=''; $xml.='Track By Number_v16'; $xml.=''; $xml.='EN'; $xml.='US'; $xml.=''; $xml.=''; $xml.=''; $xml.='trck'; $xml.='16'; $xml.='0'; $xml.='0'; $xml.=''; $xml.=''; $xml.='FDXE'; $xml.=''; $xml.='TRACKING_NUMBER_OR_DOORTAG'; $xml.=''.$number['waybill'].''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.='rates evertitque aequora'; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $ch = curl_init(); //https://ws.fedex.com:443/web-services 正式 //https://wsbeta.fedex.com:443/web-services 测试 curl_setopt($ch, CURLOPT_URL, 'https://ws.fedex.com:443/web-services'); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $result_xml = curl_exec($ch); $result_xml = str_replace(array(':','-'), '', $result_xml); @$values = json_decode(json_encode(simplexml_load_string($result_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); if($values['SOAPENVBody']['TrackReply']['HighestSeverity'] == 'SUCCESS')//SUCCESS成功,FAILURE失败,ERROR错误,WARNING警告,NOTE注意 { $zt = isset($values['SOAPENVBody']['TrackReply']['CompletedTrackDetails']['TrackDetails']['StatusDetail']['Description'])?$values['SOAPENVBody']['TrackReply']['CompletedTrackDetails']['TrackDetails']['StatusDetail']['Description']:'cw'; //In transit在途中,At FedEx destination facility配送中,Delivered完成 if($zt == 'In transit') { $exstate = 2; } else if($zt == 'At FedEx destination facility') { $exstate = 3; } else if($zt == 'Delivered') { $exstate = 4; } else { $exstate = 0; } if($exstate > 0) { $content = date('Y-m-d H',time()).'-查询成功'; $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1);//正常可发送站内信 } else { $list = ''; } } else { $content = date('Y-m-d H',time()).'-查询失败'; $list = array('content'=>$content,'f'=>0);//非正常只更改详情信息 } return $list; } } //end class