'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','guam'=>'GU','puerto rico'=>'PR'); $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; //默认为ip 选择4服务为ficp // $service_type = "FEDEX_INTERNATIONAL_PRIORITY"; // if($data['js'] == 4){ // $service_type = "FEDEX_INTERNATIONAL_CONNECT_PLUS"; // } //默认为ficp 选择3服务为ip $service_type = "FEDEX_INTERNATIONAL_CONNECT_PLUS"; if($data['js'] == 3){ $service_type = "FEDEX_INTERNATIONAL_PRIORITY"; } //your account details here /**许昌联邦账号 $key = 'L7Vtg0uUP0BxgNfp'; $password = 'iOqmHwfjx12sxszdEZstGtRYs'; $AccountNumber = '644155250'; $MeterNumber = '250140772'; **/ //杭州联邦账号 $key = 'Jx8Rq9QL34sMKJTK'; $password = 'lmnYVRVcOISI0D1i48CEiXpYh'; $AccountNumber = '692362136'; $MeterNumber = '250759448'; $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.='26'; $xml.='0'; $xml.='0'; $xml.=''; $xml.=''; $xml.=''.date('Y-m-d',time()).'T'.date('H:i:s',time()).'-12:00'.''; $xml.='REGULAR_PICKUP'; $xml.=''.$service_type.'';//FEDEX_INTERNATIONAL_PRIORITY、FEDEX_INTERNATIONAL_PRIORITY_EXPRESS也是优先。INTERNATIONAL_ECONOMY经济 //超过重量需要换包装,现在不设置,超出也按0.4走 if($data['zzl'] < '9999999')//现在限制死,只有0.4 实际应填写 $data['zzl'] < 0.5 { $xml.='FEDEX_PAK'; } else { $xml.='FEDEX_BOX'; } $xml.='';//发货人信息开始 $xml.=''.$AccountNumber.''; $xml.=''; $xml.='LONGYI';//$data['warehouse']['company'] $xml.='LONGYI';//$data['warehouse']['company'] $xml.='18539006340';//$data['warehouse']['phone'] //$xml.=''.$data['warehouse']['name'].''; $xml.=''; $xml.=''; $xml.='1703B,building C,bodi center,ningwei street';//$data['warehouse']['address'] $xml.='Hang Zhou';//$data['warehouse']['city'] //$xml.='TN'; $xml.='310000';//$data['warehouse']['zipcode'] //许昌联邦要求使用郑州邮编:450016 $xml.=''.$data['warehouse']['lb'].''; $xml.=''; $xml.=''; $xml.='';//收货人信息开始 $xml.=''.$AccountNumber.''; $xml.=''; $xml.=''.$data['name'].''; $xml.=''.$data['client'].''; $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'].'';//件数 $hgbm = 67041900; if(isset($data['hgbm'])) { if($data['hgbm'] != '') { $hgbm = $data['hgbm']; } } $xml.=''.$data['sbpm'].'-'.$data['ts'].'PCS';//描述 HSCODE:'.$hgbm.' $xml.='CN'; $xml.=''.$hgbm.''; $xml.='';//需要填写重量 $xml.='KG';//重量:磅 $xml.='0.4';//重量填写单位为KG $data['zzl'] 现在限制死,只有0.4 $xml.=''; $xml.=''.$data['ts'].'';//需要填写数量 $xml.='cm'; $xml.=''; $xml.='USD'; $xml.=''.$data['dtsbjz'].''; $xml.=''; $xml.=''; /** //DESC2 $xml.=''; $xml.='0';//件数 $xml.='HSCODE:67041900';//描述 $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.='USD120.00';//保险金额 $xml.=''; $xml.='KG'; $xml.='0.4';//现在限制死,只有0.4 '.$data['zzl'].' $xml.=''; //超过重量需要填尺寸,现在不设置,超出也按0.4走 if($data['zzl'] > '99999')//这个正常设置应该是$data['zzl'] > '0.4' { $xml.=''; $xml.='4'; $xml.='20'; $xml.='30'; $xml.='CM'; $xml.=''; } //$xml.='Book';//阿联酋需要选择 $xml.=''; $xml.='CUSTOMER_REFERENCE'; $xml.=''.$data['number'].''; $xml.=''; //签名开始 if($data['qm'] > 0) { $qm = ($data['qm']=='1')?'ADULT':'INDIRECT';//DIRECT直接签名 ADULT成人签名 INDIRECT间接签名 $xml.=''; $xml.='SIGNATURE_OPTION'; $xml.=''; $xml.=''.$qm.''; $xml.=''; $xml.=''; } //签名结束 $xml.=''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://ws.fedex.com:443/web-services/ship'); 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); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); $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); /** $ch = curl_init(); $url = 'http://z.wepolicy.cn/fedexhz.php'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); //设置post数据 $post = array(); $post['data'] = $xml; curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); $res = curl_exec($ch); curl_close($ch); $values = json_decode($res,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'=>'未知错误','cw'=>$values); } 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 = 'Jx8Rq9QL34sMKJTK'; $password = 'lmnYVRVcOISI0D1i48CEiXpYh'; $AccountNumber = '692362136'; $MeterNumber = '250759448'; $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_q($number) { $ch = curl_init(); $url = 'http://z.wepolicy.cn/fedexhz.php'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); //设置post数据 $post = array(); $post['number'] = $number; curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); $res = curl_exec($ch); curl_close($ch); $values = json_decode($res,true); return $values; } public function get_logistics($number)//追踪快递 { $key = 'Jx8Rq9QL34sMKJTK'; $password = 'lmnYVRVcOISI0D1i48CEiXpYh'; $AccountNumber = '692362136'; $MeterNumber = '250759448'; $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.=''.$number['address'].$number['address2'].''; $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']:''; //In transit在途中,At FedEx destination facility配送中,Delivered完成 $xq = ''; if(stripos($zt,'picked up') !== false) { $exstate = 2; } else if(stripos($zt,'In transit') !== false) { $exstate = 3; } else if(stripos($zt,'International shipment release') !== false) { $exstate = 4; } /** else if($zt == 'At local FedEx facility') { $exstate = 5; } **/ else if(stripos($zt,'Delivered') !== false || stripos($zt,'Recipient') !== false) { $exstate = 6; } else if(stripos($zt,'Delivery exception') !== false) { $exstate = 1; } else { $exstate = 0; } $content = date('Y-m-d H',time()).'-查询成功'; $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1,'data'=>$zt,'s'=>$values);//正常可发送站内信 } else { $content = date('Y-m-d H',time()).'-查询失败'; $list = array('content'=>$content,'f'=>0);//非正常只更改详情信息 } return $list; } public function get_data_old($data) { $ToState = array('alabama'=>'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; //默认为ip 选择4服务为ficp $service_type = "FEDEX_INTERNATIONAL_PRIORITY"; if($data['js'] == 4){ $service_type = "FEDEX_INTERNATIONAL_CONNECT_PLUS"; } //your account details here /**许昌联邦账号 $key = 'L7Vtg0uUP0BxgNfp'; $password = 'iOqmHwfjx12sxszdEZstGtRYs'; $AccountNumber = '644155250'; $MeterNumber = '250140772'; **/ //杭州联邦账号 $key = 'Jx8Rq9QL34sMKJTK'; $password = 'lmnYVRVcOISI0D1i48CEiXpYh'; $AccountNumber = '692362136'; $MeterNumber = '250759448'; $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.=''.$service_type.'';//优先。//INTERNATIONAL_ECONOMY经济 //超过重量需要换包装,现在不设置,超出也按0.4走 if($data['zzl'] < '9999999')//现在限制死,只有0.4 实际应填写 $data['zzl'] < 0.5 { $xml.='FEDEX_PAK'; } else { $xml.='FEDEX_BOX'; } $xml.='';//发货人信息开始 $xml.=''.$AccountNumber.''; $xml.=''; $xml.='LONGYI';//$data['warehouse']['company'] $xml.='LONGYI';//$data['warehouse']['company'] $xml.='18539006340';//$data['warehouse']['phone'] //$xml.=''.$data['warehouse']['name'].''; $xml.=''; $xml.=''; $xml.='1703B,building C,bodi center,ningwei street';//$data['warehouse']['address'] $xml.='Hang Zhou';//$data['warehouse']['city'] //$xml.='TN'; $xml.='310000';//$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'].'';//件数 $hgbm = 67041900; if(isset($data['hgbm'])) { if($data['hgbm'] != '') { $hgbm = $data['hgbm']; } } $xml.=''.$data['sbpm'].'-'.$data['ts'].'PCS HSCODE:'.$hgbm.'';//描述 $xml.='CN'; $xml.='';//需要填写重量 $xml.='KG';//重量:磅 $xml.='0.4';//重量填写单位为KG $data['zzl'] 现在限制死,只有0.4 $xml.=''; $xml.=''.$data['ts'].'';//需要填写数量 $xml.='cm'; $xml.=''; $xml.='USD'; $xml.=''.$data['dtsbjz'].''; $xml.=''; $xml.=''; /** //DESC2 $xml.=''; $xml.='0';//件数 $xml.='HSCODE:67041900';//描述 $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.='USD120.00';//保险金额 $xml.=''; $xml.='KG'; $xml.='0.4';//现在限制死,只有0.4 '.$data['zzl'].' $xml.=''; //超过重量需要填尺寸,现在不设置,超出也按0.4走 if($data['zzl'] > '99999')//这个正常设置应该是$data['zzl'] > '0.4' { $xml.=''; $xml.='4'; $xml.='20'; $xml.='30'; $xml.='CM'; $xml.=''; } //$xml.='Book';//阿联酋需要选择 $xml.=''; $xml.='CUSTOMER_REFERENCE'; $xml.=''.$data['number'].''; $xml.=''; //签名开始 if($data['qm'] > 0) { $qm = ($data['qm']=='1')?'ADULT':'INDIRECT';//DIRECT直接签名 ADULT成人签名 INDIRECT间接签名 $xml.=''; $xml.='SIGNATURE_OPTION'; $xml.=''; $xml.=''.$qm.''; $xml.=''; $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); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); $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); /** $ch = curl_init(); $url = 'http://z.wepolicy.cn/fedexhz.php'; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,35); //设置post数据 $post = array(); $post['data'] = $xml; curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); $res = curl_exec($ch); curl_close($ch); $values = json_decode($res,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; } } //end class