汪总电商平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

77 lines
1.9 KiB

<?php
namespace addons\wanlshop\library\WanlSdk;
final class Ehund
{
private $secretKey;
private $callbackUrl;
public function __construct($secretKey ,$callbackUrl = '')
{
$this->secretKey = $secretKey;
$this->callbackUrl = $callbackUrl;
}
/**
* 生成加密串
* @param {Object} $number 快递号
*/
public function sign($number)
{
return md5(hash_hmac('sha1', $number, $this->secretKey, true));
}
/**
* 订阅快递
* @param {Object} $data 快递数组
*/
public function subScribe($company = '' ,$number = 0 ,$phone = 0)
{
//参数设置
$param = array (
'company' => $company,//快递公司编码
'number' => $number,//快递单号
'key' => $this->secretKey,
'parameters' => array (
'callbackurl' => $this->callbackUrl,//回调地址
'salt' => $this->sign($number),
'phone' => $phone,
'resultv2' => '1',//行政区域解析
'autoCom' => '0'//单号智能识别
)
);
//请求参数
$post_data = array();
$post_data["schema"] = 'json';
$post_data["param"] = json_encode($param);
$params = "";
foreach ($post_data as $k=>$v) {
$params .= "$k=".urlencode($v)."&"; //默认UTF-8编码格式
}
$post_data = substr($params, 0, -1);
// 请求数据
$result = $this->curlPost('http://poll.kuaidi100.com/poll', $post_data);
$data = str_replace("\"", '"', $result );
$data = json_decode($data, true);
return $data;
}
/**
* POST请求
* @param {Object} $post_url
* @param {Object} $post_data
*/
public function curlPost($post_url, $post_data)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
return curl_exec($ch);
}
}