/** * 生成要请求给支付宝的参数数组 * * @param $para_temp 请求前的参数数组 * @param bool $encode 是否对字符串进行urlencode编码 * @return string 要请求的参数数组字符串 */ function buildRequestParaToString($para_temp, $encode = true) { //待请求参数数组 $para = $this->buildRequestPara($para_temp); if ($encode) { //把参数组中所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对字符串做urlencode编码 $request_data = AlipayCore::createLinkstringUrlencode($para); } else { $request_data = AlipayCore::createLinkstring($para); } return $request_data; }
/** * 获取返回时的签名验证结果 * @param $para_temp 通知返回来的参数数组 * @param $sign 返回的签名结果 * @return 签名验证结果 */ function getSignVeryfy($para_temp, $sign) { // 除去待签名参数数组中的空值和签名参数 $para_filter = AlipayCore::paraFilter($para_temp); // 对待签名参数数组排序 $para_sort = AlipayCore::argSort($para_filter); //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 $prestr = AlipayCore::createLinkstring($para_sort); switch (strtoupper(trim($this->alipay_config['sign_type']))) { case "RSA": $isSgin = AlipayRsa::rsaVerify($prestr, trim($this->alipay_config['ali_public_key_path']), $sign); break; default: $isSgin = false; } return $isSgin; }