12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace common\library\Pay\lib;
- /**
- *
- * 接口调用结果类
- * @author widyhu
- *
- */
- use yii;
- class WxPayResults extends WxPayDataBase
- {
- /**
- *
- * 检测签名
- */
- public function CheckSign()
- {
- //fix异常
- if(!$this->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();
- }
- }
|