From 69c11abf287014b218993fe0431e7ecec8b98650 Mon Sep 17 00:00:00 2001 From: Billy <641833868@qq.com> Date: Mon, 27 Oct 2025 22:54:09 +0800 Subject: [PATCH] up --- addons/shopro/controller/Ccbpayment.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/addons/shopro/controller/Ccbpayment.php b/addons/shopro/controller/Ccbpayment.php index cccba1b..d5fdc40 100644 --- a/addons/shopro/controller/Ccbpayment.php +++ b/addons/shopro/controller/Ccbpayment.php @@ -391,11 +391,30 @@ class Ccbpayment extends Common public function notify() { try { - //回调参数 + // 1. 获取原始请求数据 + $rawData = file_get_contents('php://input'); + Log::info('[建行支付通知] 收到异步通知 原始数据: ' . $rawData); + + // 2. 尝试多种方式获取参数(建行可能使用GET或POST) $params = $this->request->post(); + + // 3. 如果POST为空,尝试GET参数 + if (empty($params)) { + $params = $this->request->get(); + Log::info('[建行支付通知] POST为空,尝试GET参数'); + } + + // 4. 如果GET也为空,尝试解析原始数据 + if (empty($params) && $rawData) { + parse_str($rawData, $params); + Log::info('[建行支付通知] GET为空,尝试解析原始数据'); + } + + // 5. 记录最终解析的参数 Log::info('[建行支付通知] 解析参数: ' . json_encode($params, JSON_UNESCAPED_UNICODE)); Log::info('[建行支付通知] 请求方法: ' . $this->request->method()); + // 6. 验证必需参数 if (empty($params['ORDERID'])) { Log::error('[建行支付通知] 缺少ORDERID参数'); exit('FAIL');