| 
 | 
 
 
            本文实例讲述了php版微信小店API二次开发及使用方法。分享给大家供大家参考,具体如下: 
1. weixiaodian.php页面: 
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 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 ''; 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 ""; 
       print_r( json_decode($ResData) ); 
    } 
    //设置微小店物流支持列表 
    public function sLogisticsList(){ 
      $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'] = "易迅快递"; 
    } 
    //获取订单详情 
    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) ); 
    } 
    //查询全部订单 
    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) ); 
    } 
    //设置订单发货 
    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) ); 
    } 
    //关闭订单 
    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. 页面执行代码 
"; 
//查询全部商品 
$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 ""; 
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 
希望本文所述对大家PHP程序设计有所帮助。 
             
             
您可能感兴趣的文章:PHP版微信公众平台红包API微信支付扫码支付php版php版微信公众平台回复中文出现乱码问题的解决方法php版微信公众号自定义分享内容实现方法php版微信公众平台之微信网页登陆授权示例php版微信开发之接收消息,自动判断及回复相应消息的方法PHP版微信第三方实现一键登录及获取用户信息的方法php版微信公众号接口实现发红包的方法php版微信小店调用api示例代码PHP版微信小店接口开发实例php版微信返回用户text输入的方法 
         |   
 
 
 
 |