php 公众号验证回调方法_微信公众平台企业号验证接口、回调 PHP版

微信公众平台企业号验证接口、回调 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 =

"

".sReqTimeStamp."

";

$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 文件请点击下面地址下载 :

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值