微信建立永久二維碼

目前有2種類型的二維碼:json

一、臨時二維碼,是有過時時間的,最長能夠設置爲在二維碼生成後的30天(即2592000秒)後過時,但可以生成較多數量。臨時二維碼主要用於賬號綁定等不要求二維碼永久保存的業務場景
二、永久二維碼,是無過時時間的,但數量較少(目前爲最多10萬個)。永久二維碼主要用於適用於賬號綁定、用戶來源統計等場景。api

用戶掃描帶場景值二維碼時,可能推送如下兩種事件:微信

若是用戶還未關注公衆號,則用戶能夠關注公衆號,關注後微信會將帶場景值關注事件推送給開發者。post

若是用戶已經關注公衆號,在用戶掃描後會自動進入會話,微信也會將帶場景值掃描事件推送給開發者。測試

獲取帶參數的二維碼的過程包括兩步,首先建立二維碼ticket,而後憑藉ticket到指定URL換取二維碼。this

 

  //scene_id 寫死僅爲測試使用,生產環境,自行配製url

 1 public function getQrcode($mch_id)
 2     {
 3         $access_token = $this->get_weixin_token();
 4         $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=".$access_token;
 5 
 6         //{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "123"}}}
 7 
 8         $data = array(
 9             'action_name' => 'QR_LIMIT_STR_SCENE',//QR_SCENE爲臨時,QR_LIMIT_SCENE爲永久,QR_LIMIT_STR_SCENE爲永久的字符串參數值
10             'action_info' => array(
11                 'scene'=>array(
12                     'scene_id'=>1,
13                     'scene_str'=>$mch_id
14                 )
15             )
16         );
17 
18         $json = json_encode($data);
19         $ticket = http_post($url,$json);
20 
21         $ticketarray = json_decode($ticket,true);
22 
23         $imgurl = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".$ticketarray['ticket'];
24 
25         return $imgurl;
26     }
相關文章
相關標籤/搜索