Exemplo n.º 1
0
 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, '未知支付结果状态!');
     }
 }