/** * 支付宝异步通知方法 */ public function notify() { $notify = new AlipayNotify($this->config); $verify = $notify->verifyNotify(); if ($verify) { // 订单号 $orderId = Input::get('out_trade_no', 0); //支付宝交易号 $tradeId = Input::get('trade_no', 0); //交易状态 $tradeStatus = Input::get('trade_status', null); if ($tradeStatus == 'TRADE_FINISHED' or $tradeStatus == 'TRADE_SUCCESS') { AlipayCore::logResult($orderId . '-' . $tradeStatus); $this->updateOrderPayStatus($orderId, $tradeId); echo 'success'; } else { echo 'fail'; } } else { echo 'fail'; } }
public function test() { AlipayCore::logResult(Input::get('name')); }
/** * 获取远程服务器ATN结果,验证返回URL * * @param $notify_id 通知校验ID * @return 服务器ATN结果 * * 验证结果集: * invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空 * true 返回正确信息 * false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟 */ function getResponse($notify_id) { $transport = strtolower(trim($this->alipay_config['transport'])); $partner = trim($this->alipay_config['partner']); if ($transport == 'https') { $veryfy_url = $this->https_verify_url; } else { $veryfy_url = $this->http_verify_url; } $veryfy_url = $veryfy_url . "partner=" . $partner . "¬ify_id=" . $notify_id; $responseTxt = AlipayCore::getHttpResponseGET($veryfy_url, $this->alipay_config['cacert']); return $responseTxt; }
/** * 建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果,带文件上传功能 * @param $para_temp 请求参数数组 * @param $file_para_name 文件类型的参数名 * @param $file_name 文件完整绝对路径 * @return 支付宝返回处理结果 */ function buildRequestHttpInFile($para_temp, $file_para_name, $file_name) { //待请求参数数组 $para = $this->buildRequestPara($para_temp); $para[$file_para_name] = "@" . $file_name; //远程获取数据 $sResult = AlipayCore::getHttpResponsePOST($this->alipay_gateway_new, $this->alipay_config['cacert'], $para, trim(strtolower($this->alipay_config['input_charset']))); return $sResult; }