public function actionPay($id)
{
try {
$payOrderForm = new PayOrderForm($id);
} catch (InvalidParamException $e) {
throw new BadRequestHttpException($e->getMessage());
}
if ($payOrderForm->load(Yii::$app->request->post(), '')) {
try {
if ($result = $payOrderForm->pay()) {
Yii::info("用户请求支付订单成功!订单号:{$payOrderForm->order->order_sn},支付渠道:{$payOrderForm->channel}");
return ['status' => 'success', 'data' => ['charge' => $result->__toArray(true)]];
} else {
$message = '请求支付订单失败!';
}
} catch (\Exception $e) {
$message = $e->getMessage();
}
} else {
$message = $payOrderForm->getFirstError('channel');
}
Yii::error("用户请求支付订单失败!订单号:{$payOrderForm->order->order_sn},支付渠道:{$payOrderForm->channel},说明:{$message}");
return ['status' => 'fail', 'data' => ['message' => $message]];
}