isSignSet()) { throw new WxPayException('签名错误.'); } $sign = Helper::makeSign($this->getValues(), WxPayConfig::$key); if ($this->getSign() == $sign) { return true; } throw new WxPayException('签名错误.'); } /** * 使用数组初始化. * * @param array $array */ public function fromArray($array) { $this->values = $array; } /** * @desc 设置参数 * * @param string $key * @param string $value */ public function setData($key, $value) { $this->values[$key] = $value; } /* * @desc 将xml转为array * @param $xml * @param bool $check * @return array */ public static function init($xml, $check = true) { $obj = new self(); $obj->values = Helper::xmlToArray($xml); if ('SUCCESS' != $obj->values['return_code']) { return $obj->getValues(); } if ($check) { $obj->checkSign(); } return $obj->getValues(); } }