<?php include_once "WXBizMsgCrypt.php"; $encodingAesKey = "Please modify"; $token = "Please modify"; $corpId = "Please modify"; $wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId); //Code when opening development mode //$sVerifyMsgSig = $_GET["msg_signature"]; //$sVerifyTimeStamp = $_GET["timestamp"]; //$sVerifyNonce = $_GET["nonce"]; //$sVerifyEchoStr = $_GET["echostr"]; //if($sVerifyEchoStr){ // $sEchoStr = ""; // $errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr); // if ($errCode == 0) { // print($sEchoStr); // } else { // print($errCode . "\n\n"); // } // exit; //} $sReqMsgSig = $_GET['msg_signature']; $sReqTimeStamp = $_GET['timestamp']; $sReqNonce = $_GET['nonce']; $sReqData = file_get_contents("php://input"); $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; if($reqMsgType=="event"){ $reqContent=""; $reqEvent = $xml->getElementsByTagName('Event')->item(0)->nodeValue; if($reqEvent=="click"){ $reqContent = $xml->getElementsByTagName('EventKey')->item(0)->nodeValue; $reqAgentID = $xml->getElementsByTagName('AgentID')->item(0)->nodeValue; } }else{ $reqContent = $xml->getElementsByTagName('Content')->item(0)->nodeValue; $reqMsgId = $xml->getElementsByTagName('MsgId')->item(0)->nodeValue; } //file_put_contents('smg_response.txt', $sMsg); switch($reqContent){ case "1": include_once "wxTest.php"; $mycontent=$res; break; case "2": $mycontent="Hello, test 2!"; break; case "3": $mycontent="Hello, test three!"; break; default : $mycontent=$reqContent; break; } $ sRespData = "<xml> <ToUserName><![CDATA[".$reqFromUserName."]]></ToUserName> <FromUserName><![CDATA[".$corpId."]]></FromUserName> <CreateTime>".sReqTimeStamp."</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[".$mycontent."]]></Content> </xml>"; $sEncryptMsg = ""; $errCode = $wxcpt->EncryptMsg($sRespData, $sReqTimeStamp, $sReqNonce, $sEncryptMsg); if ($errCode == 0) { print($sEncryptMsg); } else { print($errCode . "\n\n"); } } else { print($errCode . "\n\n"); } ?>