一、前期准备
渠道二维码的作用是方便公众号统计关注的来源,原理是用户扫描带参数的二维码,微信服务器会向开发者服务器推送一条带着EventKey参数消息:
EventKey :事件KEY值,qrscene_为前缀,后面为二维码的参数值
推送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>
这时候开发者服务器应该对不同的参数进行判断,以便进入下一步的业务流程。
拥有带参数的二维码接口的目前只有认证过的服务号。
本教程基于Mysql+PHP解决。
二、数据库
数据库我们设置3个字段
ID INT
TODAY INT
TOTIL INT
数据库
这边我直接使用默认值
三、服务器端逻辑
参考微信公众平台开发文档
首先进行接入。
示例代码:
define("TOKEN", "weixin"); //与微信后台开发者配置一致
$wechatObj = new wechatCallbackapiTest();
$wechatObj-> valid()
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
private function checkSignature()
{
// you must define TOKEN b