public function alipay_notify($pay_id) { $_model = M('loan_pay_alipay_notify'); $log_id = $_model->add(['created' => time(), 'pay_id' => $pay_id, 'ip' => get_client_ip(1), 'url' => $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 'request' => print_r($_REQUEST, true)]); M('loan_pay_alipay')->where(['id' => $pay_id])->setField('is_notify', 1); $alipay = new \Common\Util\Alipay\Alipay(); $alipay->verifyNotify() or $this->_alipay_notify_finish($log_id, '支付请求验证失败!'); $trade_status = $_POST['trade_status']; if ($trade_status == 'TRADE_SUCCESS') { $ret = $this->_paySuccess($pay_id, $_POST['total_fee'], $_POST['trade_no']); $this->_alipay_notify_finish($log_id, $ret); } elseif ($trade_status == 'TRADE_FINISHED') { // TRADE_FINISHED不做任何业务逻辑处理,详情见:https://cshall.alipay.com/support/help_detail.htm?help_id=491910&keyword=trade_success&sToken=s-c8b2f9fe8ac5496ea6f2e527c3c6878f&from=search&flag=0 $this->_alipay_notify_finish($log_id, true); } else { $this->_alipay_notify_finish($log_id, '未知支付结果状态!'); } }