php版微信小店API二次开发及使用示例
本文实例讲述了php版微信小店API二次开发及使用方法。分享给大家供大家参考,具体如下:
1.weixiaodian.php页面:
<?php classwXd { public$AppID=""; public$AppSecret=""; public$OutPut=""; public$AccessToken=""; public$ID=""; public$HandleAT=array(); public$Logistics=array(); publicfunction__construct($ID='0'){ $this->ID=$ID; $this->sLogisticsList(); } publicfunctioncUrlRequest($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 publicfunctionsAcessToken(){ $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 publicfunctionpAccessToken($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 publicfunctiongAccessToken(){ $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; } //获取所有商品 publicfunctiongStateProduct($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)); } //设置微小店物流支持列表 publicfunctionsLogisticsList(){ $this->Logistics['Fsearch_code']="邮政EMS"; $this->Logistics['002shentong']="申通快递"; $this->Logistics['066zhongtong']="中通速递"; $this->Logistics['056yuantong']="圆通速递"; $this->Logistics['042tiantian']="天天快递"; $this->Logistics['003shunfeng']="顺丰速运"; $this->Logistics['059Yunda']="韵达快运"; $this->Logistics['064zhaijisong']="宅急送"; $this->Logistics['020huitong']="汇通快运"; $this->Logistics['zj001yixun']="易迅快递"; } //获取订单详情 publicfunctiongOrderInfo($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)); } //查询全部订单 publicfunctiongOrderAll($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+1month-1day")); $data=json_encode($data); } $ResData=$this->cUrlRequest($url,$data); print_r(json_decode($ResData)); } //设置订单发货 publicfunctionsOrderDelivery($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)); } //关闭订单 publicfunctionsOrderClose($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.页面执行代码
<?php include_once'class/weixiaodian.php'; $wXd=newwXd(); echo"<pre>"; //查询全部商品 $wXd->gStateProduct(); //获取订单信息 $wXd->gOrderInfo('12963133879983601645'); //关闭订单 $wXd->sOrderClose('12963133879983600740'); //发货订单设置 $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相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。