'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