首页 > php教程 > PHP源码 > 正文

微信 微小店API 二次开发

PHP中文网
发布: 2016-05-26 08:19:22
原创
2501人浏览过

通过微信微小店API控制,微信订单处理。使其用户可以在会员卡中查看订单信息。

1. [文件]     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 = '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 class="brush:php;toolbar:false;">'; 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){
             //http://www.php.cn/ 
             //{"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 class="brush:php;toolbar:false;">";
             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. [代码]页面执行代码 

           

<?php
    include_once 'class/weixiaodian.php';
    
    $wXd = new wXd();
    
    echo "<pre class="brush:php;toolbar:false;">";
    
    //查询全部商品
    $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 "
登录后复制
";

                   

企站帮微商城系统Access版
企站帮微商城系统Access版

OdnShop(原企站帮微商城系统,更名为OdnShop),基于ASP.NET 4.0+Access开发的轻量级微信商城系统,前台简洁美观,后台容易操作。系统容易部署,空间成本低,大部分的几百块一年的虚拟主机均可支持(具体请咨询空间商),适合要求不高,预算不多的小商店,小企业初次尝试微信线上销售产品,目前基本的核心功能,包括微信登陆/支付,产品管理,购物车与订单管理,分享获取积分,积分礼品兑换功能

企站帮微商城系统Access版 0
查看详情 企站帮微商城系统Access版

                   

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号