微信扫描带参数二维码事件

用户扫描带场景值二维码时,可能推送以下两种事件:

如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。
如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者。


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,可用来换取二维码图片


案例:
           // 1、扫码获取微信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);
            }

转载于:https://www.cnblogs.com/fuwentao/p/8706591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值