Browse Source

支付回调增加日志

kevin_zhangl 3 years ago
parent
commit
bb65d2f94d
1 changed files with 45 additions and 40 deletions
  1. 45 40
      frontendApi/modules/v1/controllers/ShopController.php

+ 45 - 40
frontendApi/modules/v1/controllers/ShopController.php

@@ -194,46 +194,51 @@ class ShopController extends BaseController {
      */
     public function actionVerifyApproachOrder() {
         if (\Yii::$app->request->isPost) {
-            $request = \Yii::$app->request->post();
-            // TODO:支付webhook回调日志
-            LoggerTool::info($request);
-            Tool::approachOrderCall($request);
-            $data = $request['data'];
-            $status = $request['data']['status'] ?? 'false';
-            // 订单状态
-            $orderStatus = ($status == 'success') ? \Yii::$app->params['orderStatus']['paid']['value'] : \Yii::$app->params['orderStatus']['failPaid']['value'];
-
-            $customFields = $data['metadata']['custom_fields'][0] ?? [];
-            $oderSn = $customFields['value'] ?? '';
-
-            $formModel = new ApproachOrderForm();
-            $formModel->scenario = 'verifyPayStack';
-            $load = [
-                'sn' => $oderSn,
-                'scenario' => 'verifyPayStack',
-                'status' => $orderStatus,
-                'note' => [
-                    'id' => $data['id'],
-                    'domain' => $data['domain'],
-                    'status' => $data['status'],
-                    'reference' => $data['reference'],
-                    'amount' => $data['amount'],
-                    'created_at' => $data['created_at'],
-                    'paid_at' => $data['paid_at'],
-                    'channel' => $data['channel'],
-                    'currency' => $data['currency'],
-                    'ip_address' => $data['ip_address'],
-                    'metadata' => $data['metadata'],
-                    'customer' => $data['customer'],
-                    'email' => $data['customer']['email'] ?? '',
-                ],
-            ];
-
-            if ($formModel->load($load, '') && $order = $formModel->verifyPayStack()) {
-                LoggerTool::error($order);
-                return http_response_code(200);
-            } else {
-                LoggerTool::error(Form::formatErrorsForApi($formModel->getErrors()));
+            try {
+                $request = \Yii::$app->request->post();
+                // TODO:支付webhook回调日志
+                LoggerTool::info($request);
+                Tool::approachOrderCall($request);
+                $data = $request['data'];
+                $status = $request['data']['status'] ?? 'false';
+                // 订单状态
+                $orderStatus = ($status == 'success') ? \Yii::$app->params['orderStatus']['paid']['value'] : \Yii::$app->params['orderStatus']['failPaid']['value'];
+
+                $customFields = $data['metadata']['custom_fields'][0] ?? [];
+                $oderSn = $customFields['value'] ?? '';
+
+                $formModel = new ApproachOrderForm();
+                $formModel->scenario = 'verifyPayStack';
+                $load = [
+                    'sn' => $oderSn,
+                    'scenario' => 'verifyPayStack',
+                    'status' => $orderStatus,
+                    'note' => [
+                        'id' => $data['id'],
+                        'domain' => $data['domain'],
+                        'status' => $data['status'],
+                        'reference' => $data['reference'],
+                        'amount' => $data['amount'],
+                        'created_at' => $data['created_at'],
+                        'paid_at' => $data['paid_at'],
+                        'channel' => $data['channel'],
+                        'currency' => $data['currency'],
+                        'ip_address' => $data['ip_address'],
+                        'metadata' => $data['metadata'],
+                        'customer' => $data['customer'],
+                        'email' => $data['customer']['email'] ?? '',
+                    ],
+                ];
+
+                if ($formModel->load($load, '') && $order = $formModel->verifyPayStack()) {
+                    LoggerTool::error($order);
+                    return http_response_code(200);
+                } else {
+                    LoggerTool::error(Form::formatErrorsForApi($formModel->getErrors()));
+                    return http_response_code(500);
+                }
+            } catch (\Exception $e) {
+                LoggerTool::error(sprintf('actionVerifyApproachOrderError: File[%s], Line:[%s], Message[%s]', $e->getFile(), $e->getLine(), $e->getMessage()));
                 return http_response_code(500);
             }
         }