Online call courier PHP docking method - Express bird demo

From , 5 Years ago, written in PHP, viewed 192 times.
URL https://pastebin.vip/view/9b9b0507
  1. <?php
  2. //电商ID
  3. defined('EBusinessID') or define('EBusinessID', 1237100);
  4. //电商加密私钥,快递鸟提供,注意保管,不要泄漏
  5. defined('AppKey') or define('AppKey', '518a73d8-1f7f-441a-b644-33e77b49d846');
  6. //请求url
  7. defined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');
  8.  
  9. /**
  10.  * Json方式 在线下单
  11.  */
  12. function orderOnlineByJson(){
  13.         $requestData="{'LogisticsWeight':2.0,".
  14.                                 "'LogisticsVol':2.0,".
  15.                                 "'HQPOrderDesc':'尽快上门收件,PHP demo测试',".
  16.                                 "'HQPPayType':1,".
  17.                                 "'IsNeedPay':2,".
  18.                                 "'Payment':121.0,".
  19.                                 "'OrderCode':'test_12345674',".
  20.                                 "'StartDate':'2015-05-13 21:20:53',".
  21.                                 "'EndDate':'2015-05-14 21:20:53',".
  22.                                 "'ShipperCode':'LB',".
  23.                                 "'LogisticCode':'109932607391',".
  24.                                 "'ToCompany':'华为科技',".
  25.                                 "'ToName':'张三',".
  26.                                 "'ToAddressArea':'深圳市南山区桂庙路555号',".
  27.                                 "'ToTel':'',".
  28.                                 "'ToMobile':'13800000000',".
  29.                                 "'OrderType':2,".
  30.                                 "'ToPostCode':'518128',".
  31.                                 "'ToProvinceID':'广东省',".
  32.                                 "'ToCityID':'深圳市',".
  33.                                 "'ToExpAreaID':'南山区',".
  34.                                 "'FromCompany':'小米科技',".
  35.                                 "'FromName':'李四',".
  36.                                 "'FromAddressArea':'深圳市福田区华强北路222号',".
  37.                                 "'FromTel':'88888888',".
  38.                                 "'FromMobile':'',".
  39.                                 "'FromPostCode':'529800',".
  40.                                 "'FromProvinceID':'广东省',".
  41.                                 "'FromCityID':'深圳市',".
  42.                                 "'FromExpAreaID':'福田区',".
  43.                                 "'Cost':21.0,".
  44.                                 "'OtherCost':2.0,".
  45.                                 "'Commoditys':".
  46.                                 "[{".
  47.                                 "'Goodsquantity':12,".
  48.                                 "'GoodsName':'手机屏幕',".
  49.                                 "'GoodsCode':'kjyhu878787',".
  50.                                 "'GoodsPrice':121.0".
  51.                                 "}]}";
  52.     $datas = array(
  53.         'EBusinessID' => EBusinessID,
  54.         'RequestType' => '1001',
  55.         'RequestData' => urlencode($requestData) ,
  56.         'DataType' => '2',
  57.     );
  58.     $datas['DataSign'] = encrypt($requestData, AppKey);
  59.         $result=sendPost(ReqURL, $datas);      
  60.        
  61.         //根据公司业务处理返回的信息......
  62.        
  63.         return $result;
  64. }
  65.  
  66. /**
  67.  * XML方式 在线下单      
  68.  */
  69. function orderOnlineByXml(){
  70.         $requestData= "<?xml version=\"1.0\" encoding=\"utf-8\" ?>".
  71.                                                 "<Content>".
  72.                                                 "<LogisticsWeight>1.5</LogisticsWeight>".
  73.                                                 "<OrderCode>test_123456</OrderCode>".
  74.                                                 "<LogisticsVol>0.5</LogisticsVol>".
  75.                                                 "<HQPOrderDesc>测试在线下单接口 20150510</HQPOrderDesc>".
  76.                                                 "<HQPPayType>1</HQPPayType>".
  77.                                                 "<IsNeedPay>1</IsNeedPay>".
  78.                                                 "<Payment>1000</Payment>".
  79.                                                 "<OrderType>1</OrderType>".
  80.                                                 "<StartDate>2015-05-10 19:36:50</StartDate>".
  81.                                                 "<EndDate>2015-05-11 19:36:50</EndDate>".
  82.                                                 "<ShipperCode>LB</ShipperCode>".
  83.                                                 "<LogisticCode></LogisticCode>".
  84.                                                 "<ToName>张三</ToName>".
  85.                                                 "<ToAddressArea>深圳市南山区南新路2055号</ToAddressArea>".
  86.                                                 "<ToTel></ToTel>".
  87.                                                 "<ToMobile>13800000000</ToMobile>".
  88.                                                 "<ToPostCode></ToPostCode>".
  89.                                                 "<ToProvinceID>广东省</ToProvinceID>".
  90.                                                 "<ToCityID>深圳市</ToCityID>".
  91.                                                 "<ToExpAreaID>南山区</ToExpAreaID>".
  92.                                                 "<FromCompany>快递鸟科技</FromCompany>".
  93.                                                 "<FromName>李四</FromName>".
  94.                                                 "<FromAddressArea>深圳市福田区华强北路211号</FromAddressArea>".
  95.                                                 "<FromTel></FromTel>".
  96.                                                 "<FromMobile>13888888888</FromMobile>".
  97.                                                 "<FromPostCode></FromPostCode>".
  98.                                                 "<FromProvinceID>广东省</FromProvinceID>".
  99.                                                 "<FromCityID>深圳市</FromCityID>".
  100.                                                 "<FromExpAreaID>福田区</FromExpAreaID>".
  101.                                                 "<Cost>12</Cost>".
  102.                                                 "<OtherCost>1</OtherCost>".
  103.                                                 "<Commoditys>".
  104.                                                 "<Commodity>".
  105.                                                 "<GoodsName>惠普显示器</GoodsName>".
  106.                                                 "<GoodsCode>ABCD_123456789</GoodsCode>".
  107.                                                 "<Goodsquantity>2</Goodsquantity>".
  108.                                                 "<GoodsPrice>850</GoodsPrice>".
  109.                                                 "</Commodity>".
  110.                                                 "<Commodity>".
  111.                                                 "<GoodsName>神州笔记本</GoodsName>".
  112.                                                 "<GoodsCode>QWERT_456456</GoodsCode>".
  113.                                                 "<Goodsquantity>2</Goodsquantity>".
  114.                                                 "<GoodsPrice>4200</GoodsPrice>".
  115.                                                 "</Commodity>".
  116.                                                 "</Commoditys>".
  117.                                                 "</Content>";  
  118.         $datas = array(
  119.         'EBusinessID' => EBusinessID,
  120.         'RequestType' => '1001',
  121.         'RequestData' => urlencode($requestData) ,
  122.         'DataType' => '1',
  123.     );
  124.     $datas['DataSign'] = encrypt($requestData, AppKey);
  125.         $result=sendPost(ReqURL, $datas);      
  126.        
  127.         //根据公司业务处理返回的信息......
  128.        
  129.         return $result;
  130. }
  131.  
  132. /**
  133.  *  post提交数据
  134.  * @param  string $url 请求Url
  135.  * @param  array $datas 提交的数据
  136.  * @return url响应返回的html
  137.  */
  138. function sendPost($url, $datas) {
  139.     $temps = array();  
  140.     foreach ($datas as $key => $value) {
  141.         $temps[] = sprintf('%s=%s', $key, $value);             
  142.     }  
  143.     $post_data = implode('&', $temps);
  144.     $url_info = parse_url($url);
  145.     $httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
  146.     $httpheader.= "Host:" . $url_info['host'] . "\r\n";
  147.     $httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n";
  148.     $httpheader.= "Content-Length:" . strlen($post_data) . "\r\n";
  149.     $httpheader.= "Connection:close\r\n\r\n";
  150.     $httpheader.= $post_data;
  151.     $fd = fsockopen($url_info['host'], 80);
  152.     fwrite($fd, $httpheader);
  153.     $gets = "";
  154.     while (!feof($fd)) {
  155.         $gets.= fread($fd, 128);
  156.     }
  157.     fclose($fd);    
  158.    
  159.     return $gets;
  160. }
  161.  
  162. /**
  163.  * 电商Sign签名生成
  164.  * @param data 内容  
  165.  * @param appkey Appkey
  166.  * @return DataSign签名
  167.  */
  168. function encrypt($data, $appkey) {
  169.     return urlencode(base64_encode(md5($data.$appkey)));
  170. }
  171.  
  172. ?>

Reply to "Online call courier PHP docking method - Express bird demo"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website