IsSignSet()){ new WxPayException("签名错误!"); } $sign = $this->MakeSign(); if($this->GetSign() == $sign){ return true; } new WxPayException("签名错误!"); } /** * * 使用数组初始化 * @param array $array */ public function FromArray($array) { $this->values = $array; } /** * * 使用数组初始化对象 * @param array $array * @param 是否检测签名 $noCheckSign */ public static function InitFromArray($array, $noCheckSign = false) { $obj = new self(); $obj->FromArray($array); if($noCheckSign == false){ $obj->CheckSign(); } return $obj; } /** * * 设置参数 * @param string $key * @param string $value */ public function SetData($key, $value) { $this->values[$key] = $value; } /** * 将xml转为array * @param string $xml * @throws WxPayException */ public static function Init($xml) { $obj = new self(); $obj->FromXml($xml); //fix bug 2015-06-29 if($obj->values['return_code'] != 'SUCCESS'){ return $obj->GetValues(); } $obj->key = Yii::$app->params['wechat']['key']; $obj->CheckSign(); return $obj->GetValues(); } }