php版微信小店API二次開(kāi)發(fā)及使用示例
本文實(shí)例講述了php版微信小店API二次開(kāi)發(fā)及使用方法。分享給大家供大家參考,具體如下:
1. weixiaodian.php頁(yè)面:
<?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) ); } //查詢(xún)?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) ); } }
2. 頁(yè)面執(zhí)行代碼
<?php include_once 'class/weixiaodian.php'; $wXd = new wXd(); echo "<pre>"; //查詢(xún)?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>";
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP微信開(kāi)發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP開(kāi)發(fā)api接口安全驗(yàn)證的實(shí)例講解
- PHP服務(wù)器端API原理及示例講解(接口開(kāi)發(fā))
- 支付寶服務(wù)窗API接口開(kāi)發(fā)php版本
- 淺談使用 PHP 進(jìn)行手機(jī) APP 開(kāi)發(fā)(API 接口開(kāi)發(fā))
- eaglephp使用微信api接口開(kāi)發(fā)微信框架
- 新浪微博API開(kāi)發(fā)簡(jiǎn)介之用戶(hù)授權(quán)(PHP基礎(chǔ)篇)
- 利用Yahoo! Search API開(kāi)發(fā)自已的搜索引擎-php版
- 探討PHP使用eAccelerator的API開(kāi)發(fā)詳解
- Thinkphp 在api開(kāi)發(fā)中異常返回依然是html的解決方式
- PHP開(kāi)發(fā)api接口安全驗(yàn)證操作實(shí)例詳解
相關(guān)文章

php cURL和Rolling cURL并發(fā)方式比較

深入file_get_contents與curl函數(shù)的詳解

一道求$b相對(duì)于$a的相對(duì)路徑的php代碼

幾個(gè)實(shí)用的PHP內(nèi)置函數(shù)使用指南

PHP封裝函數(shù)實(shí)現(xiàn)生成隨機(jī)的字符串驗(yàn)證碼

解析php中array_merge與array+array的區(qū)別

php下用cookie統(tǒng)計(jì)用戶(hù)訪問(wèn)網(wǎng)頁(yè)次數(shù)的代碼

php使用APC實(shí)現(xiàn)實(shí)時(shí)上傳進(jìn)度條功能