《PHP實(shí)例:php版微信小店API二次開發(fā)及使用示例》要點(diǎn):
本文介紹了PHP實(shí)例:php版微信小店API二次開發(fā)及使用示例,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP實(shí)戰(zhàn)本文實(shí)例講述了php版微信小店API二次開發(fā)及使用方法.分享給大家供大家參考,具體如下:
PHP實(shí)戰(zhàn)1. weixiaodian.php頁面:
PHP實(shí)戰(zhàn)
<?php
class wXd
{
public $AppID = "";
public $AppSecret = "";
public $OutPut = "";
public $AccessToken = "";
public $ID = "";
public $HandleAT = array();
public $Logistics = array();
public function __construct($ID = '0'){
$this->ID = $ID;
$this->sLogisticsList();
}
public function cUrlRequest($url,$data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
//獲取ACCESSTOKEN
public function sAcessToken(){
$this->HandleAT = $this->gAccessToken();
if($this->HandleAT->expire_time < time()){
$appid = $this->AppID;
$appsecret = $this->AppSecret;
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
$result = https_request($url);
//echo '<pre>'; var_dump($result);die;
$jsoninfo = json_decode($result, true);
$access_token = $jsoninfo["access_token"];
$this->pAccessToken($access_token);
return $access_token;
}
else{
return $this->HandleAT->access_token;
}
}
//保存ACCESSTOKEN
public function pAccessToken($accesstoken){
$Path = $_SERVER['DOCUMENT_ROOT']."/jSon_file/access_token_".$this->ID.".json";
//print_r($Path);
if(!file_exists($Path)){
touch($Path);
chmod($Path,0777);
}
$data['expire_time'] = time() + 7000;
$data['access_token'] = $accesstoken;
$fp = fopen($Path, "w");
fwrite($fp, json_encode($data));
fclose($fp);
}
//讀取ACCESSTOKEN
public function gAccessToken(){
$Path = $_SERVER['DOCUMENT_ROOT']."/jSon_file/access_token_".$this->ID.".json";
if(!file_exists($Path)){
$data['expire_time'] = 0;
$data['access_token'] = '';
}
else{
$data = json_decode(file_get_contents($Path));
//print_r($data);
}
return $data;
}
//獲取所有商品
public function gStateProduct($state = 0){
//https://api.weixin.qq.com/merchant/getbystatus?access_token=ACCESS_TOKEN
//{"status": 0}
$this->AccessToken = $this->sAcessToken();
$url = "https://api.weixin.qq.com/merchant/getbystatus?access_token=".$this->AccessToken;
//print_r($this->AccessToken);
$ResData = $this->cUrlRequest($url,'{"status": '.$state.'}');
//echo "<pre>";
print_r( json_decode($ResData) );
}
//設(shè)置微小店物流支持列表
public function sLogisticsList(){
$this->Logistics['Fsearch_code'] = "郵政EMS";
$this->Logistics['002shentong'] = "申通快遞";
$this->Logistics['066zhongtong'] = "中通速遞";
$this->Logistics['056yuantong'] = "圓通速遞";
$this->Logistics['042tiantian'] = "天天快遞";
$this->Logistics['003shunfeng'] = "順豐速運(yùn)";
$this->Logistics['059Yunda'] = "韻達(dá)快運(yùn)";
$this->Logistics['064zhaijisong'] = "宅急送";
$this->Logistics['020huitong'] = "匯通快運(yùn)";
$this->Logistics['zj001yixun'] = "易迅快遞";
}
//獲取訂單詳情
public function gOrderInfo($order){
$this->AccessToken = $this->sAcessToken();
//print_r($this->AccessToken);
$url = "https://api.weixin.qq.com/merchant/order/getbyid?access_token=".$this->AccessToken;
$ResData = $this->cUrlRequest($url,'{"order_id": "'.$order.'"}');
//$url = "https://api.weixin.qq.com/merchant/order/getbyfilter?access_token=".$this->AccessToken;
//$ResData = $this->cUrlRequest($url,'{"status": 2}');
print_r( json_decode($ResData) );
}
//查詢?nèi)坑唵?
public function gOrderAll($data = array()){
$this->AccessToken = $this->sAcessToken();
$url = "https://api.weixin.qq.com/merchant/order/getbyfilter?access_token=".$this->AccessToken;
if(!empty($data)){
$data = json_encode($data);
}
else{
$firstday = strtotime(date("Y-m-01",time()));
$data = array('begintime' => $firstday,'endtime' => strtotime("$firstday +1 month -1 day"));
$data = json_encode($data);
}
$ResData = $this->cUrlRequest($url,$data);
print_r( json_decode($ResData) );
}
//設(shè)置訂單發(fā)貨
public function sOrderDelivery($data = array("need_delivery" => '0')){
$this->AccessToken = $this->sAcessToken();
$url = "https://api.weixin.qq.com/merchant/order/setdelivery?access_token=".$this->AccessToken;
if(!empty($data)){
$data = json_encode($data);
}
else{
$data = array("need_delivery" => '0');
$data = json_encode($data);
}
$ResData = $this->cUrlRequest($url,$data);
print_r( json_decode($ResData) );
}
//關(guān)閉訂單
public function sOrderClose($order){
$this->AccessToken = $this->sAcessToken();
$url = "https://api.weixin.qq.com/merchant/order/close?access_token=".$this->AccessToken;
$ResData = $this->cUrlRequest($url,'{"order_id": "'.$order.'"}');
print_r( json_decode($ResData) );
}
}
PHP實(shí)戰(zhàn)2. 頁面執(zhí)行代碼
PHP實(shí)戰(zhàn)
<?php
include_once 'class/weixiaodian.php';
$wXd = new wXd();
echo "<pre>";
//查詢?nèi)可唐?
$wXd->gStateProduct();
//獲取訂單信息
$wXd->gOrderInfo('12963133879983601645');
//關(guān)閉訂單
$wXd->sOrderClose('12963133879983600740');
//發(fā)貨訂單設(shè)置
$data['need_delivery'] = '1';
$data['order_id'] = '12963133879983600667';
$data['delivery_company'] = '059Yunda';
$data['delivery_track_no'] = '1000464090326';
$wXd->sOrderDelivery($data);
//獲取所有訂單
$wXd->gOrderAll();
echo "</pre>";
PHP實(shí)戰(zhàn)更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
PHP實(shí)戰(zhàn)希望本文所述對大家PHP程序設(shè)計(jì)有所幫助.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/2802.html