diff --git a/FlyCube/Api/Controller/PayController.class.php b/FlyCube/Api/Controller/PayController.class.php index 9ddcac5..7afb2b7 100644 --- a/FlyCube/Api/Controller/PayController.class.php +++ b/FlyCube/Api/Controller/PayController.class.php @@ -84,15 +84,27 @@ class PayController extends PublicController */ public function notifyCallback() { - $this->publish('demo', 'start'); + // 实例化 Yansongda Pay $pay = Pay::wechat($this->config); - try { - $data = $pay->callback(); // 是的,验签就这么简单! + // 获取并验证回调数据 + $callBackData = $pay->callback(); + // 验证成功,处理业务逻辑 + if ($callBackData['trade_state'] == 'SUCCESS') { + $where['order_sn'] = $callBackData['out_trade_no']; // 获取订单号 + $orderDb = D('order'); // 实例化订单模型 + $data['status'] = 'pending'; //付款状态 + $data['pay_sn'] = $callBackData['transaction_id']; + //注意先简单测试一下还需要验证openid 金额等 + $orderDb->where($where)->data($data)->save(); //更改订单 + } } catch (\Exception $e) { - // $e->getMessage(); + // 捕获并处理可能的异常 + // 可以记录错误日志以便排查问题 + // error_log('支付回调错误:' . $e->getMessage()); } - $this->publish('demo', $data); + // 返回成功响应给腾讯服务器,告知通知已处理 + return $pay->success(); } }