微信掃描帶參數二維碼事件

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

若是用戶還未關注公衆號,則用戶能夠關注公衆號,關注後微信會將帶場景值關注事件推送給開發者。
若是用戶已經關注公衆號,則微信會將帶場景值掃描事件推送給開發者。
1. 用戶未關注時,進行關注後的事件推送

推送XML數據包示例:

<xml><ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[subscribe]></Event>
<EventKey><![CDATA[qrscene_123123]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
參數說明:

參數 描述
ToUserName 開發者微信號
FromUserName 發送方賬號(一個OpenID)
CreateTime 消息建立時間 (整型)
MsgType 消息類型,event
Event 事件類型,subscribe
EventKey 事件KEY值,qrscene_爲前綴,後面爲二維碼的參數值
Ticket 二維碼的ticket,可用來換取二維碼圖片
2. 用戶已關注時的事件推送

推送XML數據包示例:

<xml>
<ToUserName><![CDATA[toUser]></ToUserName>
<FromUserName><![CDATA[FromUser]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]></MsgType>
<Event><![CDATA[SCAN]></Event>
<EventKey><![CDATA[SCENE_VALUE]></EventKey>
<Ticket><![CDATA[TICKET]></Ticket>
</xml>
參數說明:

參數 描述
ToUserName 開發者微信號
FromUserName 發送方賬號(一個OpenID)
CreateTime 消息建立時間 (整型)
MsgType 消息類型,event
Event 事件類型,SCAN
EventKey 事件KEY值,是一個32位無符號整數,即建立二維碼時的二維碼scene_id
Ticket 二維碼的ticket,可用來換取二維碼圖片


案例:
        //一、掃碼獲取微信post過來的xml數據
            $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
            $postObj = simplexml_load_string( $postArr );

            //未訂閱時 ,EventKey爲qrscene_1984;訂閱後,EventKey爲1984
            if( strtolower($postObj->Event) == 'subscribe'){
                    $account_id = substr(trim($postObj->EventKey), 8);//輸出1984
            } else {
                    $account_id = trim($postObj->EventKey);
            }微信

相關文章
相關標籤/搜索