1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 16-5-28
- * Time: 下午2:39
- */
- namespace api\libs;
- class Notify {
- public $data;//接收到的数据,类型为关联数组
- var $returnParameters;//返回参数,类型为关联数组
- /**
- * 将微信的请求xml转换成关联数组,以方便数据处理
- */
- function saveData($xml)
- {
- $this->data = WxPayHelper::xmlstr_to_array($xml);
- }
- function checkSign()
- {
- $tmpData = $this->data;
- unset($tmpData['sign']);
- $sign = WxPayHelper::getSign($tmpData);//本地签名
- if ($this->data['sign'] == $sign) {
- return TRUE;
- }
- return FALSE;
- }
- /**
- * 获取微信的请求数据
- */
- function getData()
- {
- return $this->data;
- }
- /**
- * 设置返回微信的xml数据
- */
- function setReturnParameter($parameter, $parameterValue)
- {
- $this->returnParameters[$this->trimString($parameter)] = $this->trimString($parameterValue);
- }
- /**
- * 生成接口参数xml
- */
- function createXml()
- {
- return WxPayHelper::arrayToXml($this->returnParameters);
- }
- /**
- * 将xml数据返回微信
- */
- function returnXml()
- {
- $returnXml = $this->createXml();
- return $returnXml;
- }
- /**
- * 作用:将xml转为array
- */
- public function xmlToArray($xml)
- {
- //将XML转为array
- $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
- return $array_data;
- }
- function trimString($value)
- {
- $ret = null;
- if (null != $value)
- {
- $ret = $value;
- if (strlen($ret) == 0)
- {
- $ret = null;
- }
- }
- return $ret;
- }
- }
|