|
|
@@ -182,40 +182,46 @@ class ShopController extends BaseController {
|
|
|
$request = \Yii::$app->request->post();
|
|
|
// TODO:支付webhook回调日志
|
|
|
|
|
|
-
|
|
|
- $data = $request->data;
|
|
|
- $status = $request->data->status ?? 'false';
|
|
|
+ $data = $request['data'];
|
|
|
+ $status = $request['data']['status'] ?? 'false';
|
|
|
// 订单状态
|
|
|
$orderStatus = ($status == 'success') ? \Yii::$app->params['orderStatus']['paid']['value'] : \Yii::$app->params['orderStatus']['failPaid']['value'];
|
|
|
|
|
|
- $customFields = $request->data->metadata->custom_fields ?? [];
|
|
|
- $oderSn = $customFields[0]->value ?? '';
|
|
|
+ $customFields = $data['metadata']['custom_fields'][0] ?? [];
|
|
|
+ $oderSn = $customFields['value'] ?? '';
|
|
|
|
|
|
$formModel = new ApproachOrderForm();
|
|
|
- $formModel['sn'] = $oderSn;
|
|
|
- $formModel['status'] = $orderStatus;
|
|
|
- $formModel['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 ?? '',
|
|
|
+ $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 (parent::edit(ApproachOrderForm::class, 'PayStack pay Success', 'verifyPayStack', ['verifyPayStack'])) {
|
|
|
+ if ($formModel->load($load, '') && $order = $formModel->verifyPayStack()) {
|
|
|
+// return static::notice($order);
|
|
|
return http_response_code(200);
|
|
|
+ } else {
|
|
|
+ return http_response_code(500);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return http_response_code(500);
|
|
|
+ return http_response_code(200);
|
|
|
}
|
|
|
|
|
|
/**
|