diff --git a/FlyCube/Api/Controller/PayController.class.php b/FlyCube/Api/Controller/PayController.class.php index e62dfdd..01ad3d3 100644 --- a/FlyCube/Api/Controller/PayController.class.php +++ b/FlyCube/Api/Controller/PayController.class.php @@ -86,15 +86,20 @@ class PayController extends PublicController // 实例化 Yansongda Pay $result = Pay::wechat($this->config)->callback(); $this->publish('demo', json_encode($result)); - // 验证成功,处理业务逻辑 - if ($result['trade_state'] == 'SUCCESS') { - $where['order_sn'] = $result['out_trade_no']; // 获取订单号 - $orderDb = D('order'); // 实例化订单模型 - $data['status'] = 'pending'; //付款状态 - $data['pay_sn'] = $result['transaction_id']; //支付订单号 - $orderDb->where($where)->data($data)->save(); //更改订单 + try { + // 验证成功,处理业务逻辑 + if ($result['resource']['ciphertext']['trade_state'] == 'SUCCESS') { + $where['order_sn'] = $result['resource']['ciphertext']['out_trade_no']; // 获取订单号 + $orderDb = D('order'); // 实例化订单模型 + $data['status'] = 'pending'; // 更新订单状态为已支付 + $data['pay_sn'] = $result['resource']['ciphertext']['transaction_id']; // 支付订单号 + // 更新订单 + $orderDb->where($where)->data($data)->save(); + } + } catch (\Exception $e) { + // 捕获并记录可能的异常 + error_log('支付回调处理错误:' . $e->getMessage()); } - // 返回成功响应给腾讯服务器,告知通知已处理 return Pay::wechat()->success(); }