Heim >WeChat-Applet >WeChat-Entwicklung >PHP-Version der Sekundärentwicklung und Verwendungsbeispiele der WeChat Store API

PHP-Version der Sekundärentwicklung und Verwendungsbeispiele der WeChat Store API

黄舟
黄舟Original
2017-01-03 09:17:372042Durchsuche

Das Beispiel in diesem Artikel beschreibt die sekundäre Entwicklung und Verwendung der PHP-Version der WeChat Store API. Teilen Sie es als Referenz mit allen:

1. Seite weixiaodian.php:

<?php
  class wXd
  {
    public $AppID = "";
    public $AppSecret = "";
    public $OutPut = "";
    public $AccessToken = "";
    public $ID = "";
    public $HandleAT = array();
    public $Logistics = array();
    public function __construct($ID = &#39;0&#39;){
      $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 &#39;<pre class="brush:php;toolbar:false">&#39;; 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[&#39;DOCUMENT_ROOT&#39;]."/jSon_file/access_token_".$this->ID.".json";
      //print_r($Path);
      if(!file_exists($Path)){
        touch($Path);
        chmod($Path,0777);
      }
      $data[&#39;expire_time&#39;] = time() + 7000;
      $data[&#39;access_token&#39;] = $accesstoken;
      $fp = fopen($Path, "w");
      fwrite($fp, json_encode($data));
      fclose($fp);
    }
    //读取ACCESSTOKEN
    public function gAccessToken(){
      $Path = $_SERVER[&#39;DOCUMENT_ROOT&#39;]."/jSon_file/access_token_".$this->ID.".json";
      if(!file_exists($Path)){
        $data[&#39;expire_time&#39;] = 0;
        $data[&#39;access_token&#39;] = &#39;&#39;;
      }
      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,&#39;{"status": &#39;.$state.&#39;}&#39;);
       //echo "<pre class="brush:php;toolbar:false">";
       print_r( json_decode($ResData) );
    }
    //设置微小店物流支持列表
    public function sLogisticsList(){
      $this->Logistics[&#39;Fsearch_code&#39;] = "邮政EMS";
      $this->Logistics[&#39;002shentong&#39;] = "申通快递";
      $this->Logistics[&#39;066zhongtong&#39;] = "中通速递";
      $this->Logistics[&#39;056yuantong&#39;] = "圆通速递";
      $this->Logistics[&#39;042tiantian&#39;] = "天天快递";
      $this->Logistics[&#39;003shunfeng&#39;] = "顺丰速运";
      $this->Logistics[&#39;059Yunda&#39;] = "韵达快运";
      $this->Logistics[&#39;064zhaijisong&#39;] = "宅急送";
      $this->Logistics[&#39;020huitong&#39;] = "汇通快运";
      $this->Logistics[&#39;zj001yixun&#39;] = "易迅快递";
    }
    //获取订单详情
    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,&#39;{"order_id": "&#39;.$order.&#39;"}&#39;);
      //$url = "https://api.weixin.qq.com/merchant/order/getbyfilter?access_token=".$this->AccessToken;
      //$ResData = $this->cUrlRequest($url,&#39;{"status": 2}&#39;);
      print_r( json_decode($ResData) );
    }
    //查询全部订单
    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(&#39;begintime&#39; => $firstday,&#39;endtime&#39; => strtotime("$firstday +1 month -1 day"));
        $data = json_encode($data);
      }
      $ResData = $this->cUrlRequest($url,$data);
      print_r( json_decode($ResData) );
    }
    //设置订单发货
    public function sOrderDelivery($data = array("need_delivery" => &#39;0&#39;)){
      $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" => &#39;0&#39;);
        $data = json_encode($data);
      }
      $ResData = $this->cUrlRequest($url,$data);
      print_r( json_decode($ResData) );
    }
    //关闭订单
    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,&#39;{"order_id": "&#39;.$order.&#39;"}&#39;);
      print_r( json_decode($ResData) );
    }
}

2

<?php
include_once &#39;class/weixiaodian.php&#39;;
$wXd = new wXd();
echo "<pre class="brush:php;toolbar:false">";
//查询全部商品
$wXd->gStateProduct();
//获取订单信息
$wXd->gOrderInfo(&#39;12963133879983601645&#39;);
//关闭订单
$wXd->sOrderClose(&#39;12963133879983600740&#39;);
//发货订单设置
$data[&#39;need_delivery&#39;] = &#39;1&#39;;
$data[&#39;order_id&#39;] = &#39;12963133879983600667&#39;;
$data[&#39;delivery_company&#39;] = &#39;059Yunda&#39;;
$data[&#39;delivery_track_no&#39;] = &#39;1000464090326&#39;;
$wXd->sOrderDelivery($data);
//获取所有订单
$wXd->gOrderAll();
echo "
";Das Obige ist der Inhalt der sekundären Entwicklung und Anwendungsbeispiele der PHP-Version der WeChat Store API. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn