/** * 建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果,带文件上传功能 * @param array $para_temp 请求参数数组 * @param string $file_para_name 文件类型的参数名 * @param string $file_name 文件完整绝对路径 * @return mixed 支付宝返回处理结果 */ public function buildRequestHttpInFile($para_temp, $file_para_name, $file_name) { //待请求参数数组 $para = $this->buildRequestPara($para_temp); $para[$file_para_name] = "@" . $file_name; //远程获取数据 $url = $this->alipay_gateway_new . '?_input_charset=' . $this->alipay_config['input_charset']; $coreModel = new AliPayCore(); $sResult = $coreModel->sendRequest($url, $para, ['send_type' => 'POST', 'cacert_path' => $this->alipay_config['cacert']]); return $sResult; }
/** * 获取远程服务器ATN结果,验证返回URL * @param string $notify_id 通知校验ID * @return mixed 服务器ATN结果 * 验证结果集: * invalid 命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空 * true 返回正确信息 * false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟 */ public function getResponse($notify_id) { if ($this->alipay_config['transport'] == 'https') { $veryfy_url = $this->https_verify_url; } else { $veryfy_url = $this->http_verify_url; } $veryfy_url .= "partner=" . $this->alipay_config['partner'] . "¬ify_id=" . $notify_id; $coreModel = new AliPayCore(); $responseTxt = $coreModel->sendRequest($veryfy_url, [], ['send_type' => 'GET', 'cacert_path' => $this->alipay_config['cacert']]); return $responseTxt; }