/** * 生成要请求给支付宝的参数数组 * @param array $para_temp 请求前的参数数组 * @return string 要请求的参数数组字符串 */ public function buildRequestParaToString($para_temp) { //待请求参数数组 $para = $this->buildRequestPara($para_temp); //把参数组中所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对字符串做urlencode编码 $coreModel = new AliPayCore(); $request_data = $coreModel->createLinkstring($para, true); return $request_data; }
/** * 获取返回时的签名验证结果 * @param array $para_temp 通知返回来的参数数组 * @param string $sign 返回的签名结果 * @return boolean 签名验证结果 */ public function getSignVeryfy($para_temp, $sign) { $coreModel = new AliPayCore(); //除去待签名参数数组中的空值和签名参数 $para_filter = $coreModel->paraFilter($para_temp); //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 $prestr = $coreModel->createLinkstring($para_filter); switch ($this->alipay_config['sign_type']) { case "RSA": $rsaModel = new AliPayRsa(); $isSgin = $rsaModel->rsaVerify($prestr, $this->alipay_config['ali_public_key_path'], $sign); break; case "MD5": $md5Model = new AliPayMD5(); $isSgin = $md5Model->md5Verify($prestr, $sign, $this->alipay_config['key']); break; default: $isSgin = false; } return $isSgin; }