public function actionAlipayOrderReturn()
{
require_once Yii::getAlias('@vendor') . "/payment/alipay/alipay.config.php";
require_once Yii::getAlias('@vendor') . "/payment/alipay/lib/alipay_notify.class.php";
$alipayNotify = new \AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
if ($verify_result) {
$out_trade_no = $_GET['out_trade_no'];
$trade_no = $_GET['trade_no'];
$trade_status = $_GET['trade_status'];
$model = Order::findOne(['order_sn' => $out_trade_no]);
if ($model) {
if ($trade_status === 'TRADE_SUCCESS' || $trade_status === 'TRADE_FINISHED') {
if ($model->pay()) {
$this->_sendMsg($model);
Yii::info("订单支付成功!订单号:{$out_trade_no}");
} else {
Yii::error("订单支付失败!订单号:{$out_trade_no}");
Yii::$app->session->setFlash('danger', '订单支付失败!');
}
} elseif ($trade_status === 'TRADE_CLOSED') {
Yii::$app->session->setFlash('warning', '订单未支付!');
}
}
} else {
throw new ForbiddenHttpException('参数非法。');
}
return $this->redirect(['/order/detail', 'order' => $model->order_sn]);
}