微信公众平台企业号验证接口、回调 PHP版,本人为了解决这个企业号的验证和发送消息的问题,整整研究了几天时间,因为微信企业号刚推出来,网上资料太少了!后来在一些朋友的帮助下和本人反复调试完善下,终于整理得到了比较理想的文档,经亲测,实验成功。

include_once "WXBizMsgCrypt.php";
// 第三方发送消息给公众平台
$encodingAesKey = "rpJmhCphnndiCLIcNKcUmhTn2GQBNjISPU9GfsfOlxx";
$token = "xxxxxxx";
$corpId ="wxa9a0031f24631f9x"; //这里已正确填写自己的corpid
//公众号服务器数据
$sReqMsgSig = $sVerifyMsgSig = $_GET['msg_signature'];
$sReqTimeStamp = $sVerifyTimeStamp = $_GET['timestamp'];
$sReqNonce = $sVerifyNonce = $_GET['nonce'];
$sReqData = file_get_contents("php://input");;
$sVerifyEchoStr = $_GET['echostr'];
$wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId);
if($sVerifyEchoStr){
$sEchoStr = "";
$errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
if ($errCode == 0) {
print($sEchoStr);
} else {
print($errCode . "\n\n");
}
exit;
}//decrypt
$sMsg = "";  //解析之后的明文
$errCode = $wxcpt->DecryptMsg($sReqMsgSig, $sReqTimeStamp, $sReqNonce, $sReqData, $sMsg);
if ($errCode == 0) {
$xml = new DOMDocument();
$xml->loadXML($sMsg);
$reqToUserName = $xml->getElementsByTagName('ToUserName')->item(0)->nodeValue;
$reqFromUserName = $xml->getElementsByTagName('FromUserName')->item(0)->nodeValue;
$reqCreateTime = $xml->getElementsByTagName('CreateTime')->item(0)->nodeValue;
$reqMsgType = $xml->getElementsByTagName('MsgType')->item(0)->nodeValue;
$reqContent = $xml->getElementsByTagName('Content')->item(0)->nodeValue;
$reqMsgId = $xml->getElementsByTagName('MsgId')->item(0)->nodeValue;
$reqAgentID = $xml->getElementsByTagName('AgentID')->item(0)->nodeValue;
switch($reqContent){
case "马云":
$mycontent="您好,马云!我知道您创建了阿里巴巴!";
break;
case "马化腾":
$mycontent="您好,马化腾!我知道创建了企鹅帝国!";
break;
case "史玉柱":
$mycontent="您好,史玉柱!我知道您创建了巨人网络!";
break;
default :
$mycontent="你是谁啊?!一边凉快去!";
break;
}
$sRespData =
"<xml>
<ToUserName><![CDATA[".$reqFromUserName."]]></ToUserName>
<FromUserName><![CDATA[".$corpId."]]></FromUserName>
<CreateTime>".sReqTimeStamp."</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[".$mycontent."]]></Content>
</xml>";
$sEncryptMsg = ""; //xml格式的密文
$errCode = $wxcpt->EncryptMsg($sRespData, $sReqTimeStamp, $sReqNonce, $sEncryptMsg);
if ($errCode == 0) {
//file_put_contents('smg_response.txt', $sEncryptMsg); //debug:查看smg
print($sEncryptMsg);
} else {
print($errCode . "\n\n");
}
} else {
print($errCode . "\n\n");
}
?>

WXBizMsgCrypt.php 文件请点击下面地址下载 :

http://mp.weixin.qq.com/wiki/downloads/SampleCode.zip

微信公众平台企业号验证接口、回调 PHP版相关推荐

  1. php 接入微信 验证,PHP实现微信公众平台企业号验证接口

    这篇文章主要介绍了PHP编程之微信公众平台企业号验证接口,是通过回调操作实现的企业号验证功能接口,需要的朋友可以参考下 本文实例讲述了PHP微信公众平台企业号验证接口.分享给大家供大家参考,具体如下: ...

  2. java企业号回调模式,微信公众平台企业号开发—开启回调模式

    2014年9月17日,微信发布了期待已久的企业号.网上关于企业号的教程几乎还是0,所以这里分享一下的我的开发经验. 对比于订阅号和服务号的开发,企业号的开发显得更加复杂一点.这大概也是腾讯考虑到企业信 ...

  3. 微信公众平台卡券API接口开发指南

    文章目录 说明 卡券术语介绍 卡券生命周期流程图 准备 申请开发账号 公众平台开发配置 公众号开发信息配置 填写服务器配置并验证有效性 申请微信认证及开通微信卡券功能 卡券分类 普通卡券 会员卡券 朋 ...

  4. 微信公众平台自定义菜单接口API指南

    微信公众平台开发模式自定义菜单接口API指南 开发实现方法,请查看 微信公众平台开发(58)自定义菜单 简介 开发者获取使用凭证(如何获取凭证)后,可以使用该凭证对公众账号的自定义菜单进行创建.查询和 ...

  5. 转载收藏之用 - 微信公众平台开发教程(三):微信公众平台开发验证

    要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方 ...

  6. 微信“公众平台测试账号”接口调试指南

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 实际开发时请自行参阅官方文档:http://mp.weixin.qq. ...

  7. 微信“公众平台测试账号”接口接入指南

    本文主要讲解微信公众号Struts2框架进行服务器验证接口对接. 使用工具:MyEclipse 准备工作: 1.打开MyEclipse,新建一个Web项目,比如"WXLocalTest&qu ...

  8. 微信公众平台Token验证

    1. 首先给出测试项目的整体目录: 2. CoreServlet类: 当get请求的时候会执行get方法,post请求的时候会执行post方法,分别来处理不同的请求 package com.zjn.s ...

  9. 由SSL证书引发的微信公众平台token验证失败问题

    起因 第一次尝试用java去搭建一个微信公众平台,在验证token的时候遇到了各式各样的问题,很多在网上也没有找到比较合适的说法只能自己一步步尝试,在这里记录分享一下也希望其他的朋友能在遇到类似的问题 ...

最新文章

  1. mysql 5.7 mts_MySQL:MTS和mysqldump死锁
  2. 070103_条件概率与贝叶斯公式,独立性
  3. 如何系统的自学python 知乎-如何系统地自学 Python?
  4. oracle定时器定时删除30天前的数据_Redis的过期键删除策略
  5. N-Gram的基本原理
  6. 在SAP API hub自动生成使用ABAP调用API的胶水代码
  7. 毛笔笔锋算法IOS版
  8. Android入门(一) | Android Studio的配置与使用
  9. Python 操作 Windows 粘贴板
  10. vue: 从组件通讯到vuex (上)
  11. 【有限元分析】有限元仿真分析与解析解的结果对比——以阶梯轴的静力分析为例
  12. 微软和美国航空航天局(NASA)强强联手,推出Python免费课程
  13. java close 方法_Java PushbackReader close()方法与示例
  14. 跟着弦哥学人工智能2—HAND-CRAFTED RULES实现的人工智能及其缺陷
  15. 免费OFD文件在线转PDF
  16. cocos2dX 之音乐与音效
  17. 时间-1计算机世界中的时间概念
  18. 浅谈Google SEO入行
  19. 全国AI特色中小学榜单发布:北京46家单位入围,上海3家
  20. day03-数据库概念mongodb使用数据库CLUD操作

热门文章

  1. 组件分享之后端组件——一个简单且高度可扩展的分布式文件系统seaweedfs
  2. 阅文集团 php,腾讯开源|腾讯与阅文技术合作 微服务框架Tars再添PHP
  3. 批处理find 命令使用
  4. FPGA问题记录之:Warning (13024): Output pins are stuck at VCC or GND
  5. 大数据入门教程,小白快速掌握Hadoop集成Kerberos安全技术
  6. 转:开源图形库 c语言-图形图像库 集合
  7. 英语口语练习十七之I can't figure out... (我搞不懂……)的用法
  8. 思维导图怎么画?思维导图快速绘制教程
  9. 【车载开发系列】UDS诊断---OBD基础概述
  10. oxygen 生成java对象_利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析...