|
|
@@ -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);
|
|
|
}
|
|
|
}
|