微信发送模版消息
一、 首选了解一下流程
1.获取access_token-》2.拿到用户openid-》3.拼接消息模版数据-》发送消息模版
二 、 准备材料
微信服务号的 appid、appsecret
用户 openid ( 这个一般是存在你网站的会员帐号里 )
三 、获取access_token,通过下面两个方法即可
    public function getToken()
    {
        $appid = '你的微信appid';
        $appsecret = '你的微信appsecret';
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
        $date = $this->postcurl($url);
        $access_token = $date['access_token'];
        return $access_token;
    }
    
    //请求接口方法
    public function postcurl($url, $data = null)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        if (!empty($data)) {
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output = json_decode($output, true);
    }注意,微信官说access_token 有效时间是7200秒,但我在测试时,偶尔access_token会失效,看个人情况缓存access_token ,提高效率
四、获取模版id(服务号后台里找),根据模版内容,拼接消息数据,下面举个例子
        //下单成功通知
    public function orderSuccess(){
        if(request()->isPost()){
            //默认参数
            $default = [
                'user_id'=>'', //用户id
                'url'=>'http://weixin.qq.com/download', //消息祥情链接
                'name'=>'商品信息', //商品信息
                'remark'=>'无' //备注
            ];
            //接收参数
            $data = input('post.');
            if(empty($data['user_id'])){
                return response(2,'user_id不能为空');
            }
            $data = array_merge($default,$data); //合并参数
            //获取用户openid
            $data['open_id'] = $this->getOpenId($data['user_id']);
            if(empty($data['open_id'])){
                return response(2,'用户open_id不存在');
            }
            //消息模版数据
            $data = [
                "touser"=>$data['open_id'],
                "template_id"=>"V9cGK3kGcIo52e6YoBssXli-oYut8BBtTkuk7KRE9Bc", //模版id
                "url"=>$data['url'],
                "topcolor"=>"#000",
                "data"=>[
                    'name'=>[
                        "value"=>$data['name'],
                        "color"=>"#000"
                    ],
                    'remark'=>[
                        "value"=>$data['remark'],
                        "color"=>"#000"
                    ],
                ]
            ];
            //发送数据
            return $this->send($data);
        }
    }
    
    
    
    /*
     * 发送消息
     * @param 模版消息数据
     */
    public function send($data)
    {
        //获取微信token
        $access_token = $this->getToken();
        
        //请求微信发送地址
        $url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$access_token;
        //发送
        $res = json_decode($this->curl_post($url,json_encode($data)),true);
        return $res
    }