查询订单信息
http://open.wdgj.com/OpenApiDoc/ApiInfo.html?OpenAPIID=70056&dictID=84
这是笛佛开放平台的测试数据
<?php
class Test
{
//系统级参数
public $Appkey = "71005530";
public $Appsecret = "n800m9iaei27l1n3b5eh7ko87gfl2k0g";
public $Accesstoken = "191167eb31f242bfa4a089359b77f5e4";
public $Apiurl = "http://api.wdgj.com/wdgjcloud/api";
public $format="json";
public $method="wdgj.tradenosensitiveinfo.list.get";
public $versions = "1.0";
public $heads = array('application/x-www-form-urlencoded;charset=UTF8');
//生成签名
public function sign()
{
$paramArr = array();
$paramArr['Appkey']=$this->Appkey;
// $paramArr['Appsecret']=$this->Appsecret;
$paramArr['Accesstoken']=$this->Accesstoken;
// $paramArr['Apiurl']=$this->Apiurl;
$paramArr['format']=$this->format;//json
$paramArr['method']=$this->method;
$paramArr['versions']=$this->versions;
$paramArr['timestamp'] = (string)time();
//判断协议版本号
$paramArrDemo = $paramArr;
if ($paramArr['versions'] == "1.1"){
//ASCII码排序
ksort($paramArrDemo);
}else{
//字典排序
sort($paramArrDemo,SORT_LOCALE_STRING);
}
//拼接字符串 生成签名
$paramString = join($paramArrDemo);
$sign = MD5($this->Appsecret.$paramString.$this->Appsecret);
echo $sign;
return $sign;
// $paramArr['timestamp']= (string)time();
}
//订单信息查询
public function order_information_query()
{
//参数整理
$AppSecret = $this->Appsecret;
$paramArr = array();
//系统级参数
$paramArr['appkey']=$this->Appkey;
$paramArr['accesstoken']=$this->Accesstoken;
$paramArr['timestamp'] = (string)time();
$paramArr['method']=$this->method;
$paramArr['versions']=$this->versions;
$paramArr['format']=$this->format;//json
//应用级参数
$paramArr['searchtype'] = "0";
$paramArr['begintime'] = date('Y-m-d H:i:s',strtotime("-1 day"));
$paramArr['endtime'] = date('Y-m-d H:i:s');
$paramArr['pageno'] = "1";
$paramArr['pagesize'] = "10";
//判断协议版本号
$paramArrDemo = $paramArr;
if ($paramArr['versions'] == "1.1"){
//ASCII码排序
ksort($paramArrDemo);
}else{
//字典排序
sort($paramArrDemo,SORT_LOCALE_STRING);
}
//拼接字符串
$paramString = join('',$paramArrDemo);
//生成签名
$sign = $AppSecret . $paramString. $AppSecret;
$paramArr['sign'] = md5($sign);
//抓取一般数据
$head = $this->heads;
$Apiurl = $this->Apiurl;
$res = $this->httpRequest($Apiurl, $paramArr, $head);
echo json_encode(['code'=>1,'msg'=>'数据获取成功','data'=>['success' => $res['data']]]);
}
/**
* 请求数据
* @param string $url 请求地址
* @param array $postData 请求数据
* @param string $head 请求头
* @return array
*/
public function httpRequest($url, $postData, $head)
{
//初始化
$curl = curl_init();
//设置抓取的url;
curl_setopt($curl, CURLOPT_URL, $url);
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, $head);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
//判断是否是https请求协议 0 表示请求是https,需要绕过
if (0 === strpos(strtolower($url), 'https')) {
//HTTPS请求需要加几行代码绕过SSL证书的检查等方式来成功请求到资源
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 7.2 强制https 使用2
}
if (!empty($postData)) {
curl_setopt($curl, CURLOPT_POST, true); //设置post方式提交
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData)); //使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。参数 formdata 可以是数组或包含属性的对象。
//设置post数据
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执行命令
$json = curl_exec($curl);
$error = curl_error($curl);
//关闭URL请求
curl_close($curl);
if ($json === false) //请求失败
{
return ['success' => false, 'desc' => 'curl错误,错误编码:' . $error];
}
if (preg_match('/^\xEF\xBB\xBF/', $json)) //去除boom 头
{
$output = substr($json, 3);
} else {
$output = $json;
}
$obj = json_decode(trim($output), true);
return ['code'=>1,'msg'=>'抓取成功','data'=>$obj];
}
}
$test = new Test();
$test->order_information_query();