添加支付日志

This commit is contained in:
Dev
2026-09-23 14:46:56 +08:00
parent 5cc504bb44
commit a30d534c3d
3 changed files with 193 additions and 28 deletions
+22 -3
View File
@@ -250,6 +250,19 @@ class Order extends Api
public function payNotify()
{
header('Content-Type: application/json; charset=utf-8');
// 原始报文(用于排查微信是否真的回调到本地址)
$rawBody = file_get_contents('php://input');
$notifyHeaders = [];
foreach ($_SERVER as $key => $value) {
if (stripos($key, 'HTTP_WECHATPAY') !== false || in_array($key, ['CONTENT_TYPE', 'REQUEST_METHOD'])) {
$notifyHeaders[$key] = $value;
}
}
Log::info('微信支付回调[进入] uri=' . ($_SERVER['REQUEST_URI'] ?? '') . ' ' . json_encode([
'headers' => $notifyHeaders,
'body' => is_string($rawBody) ? $rawBody : '',
], JSON_UNESCAPED_UNICODE));
try {
// PSR-7 响应(SDK 已完成验签/解密,业务失败返回 500 由微信重试)
$response = OrderService::payNotify();
@@ -257,10 +270,16 @@ class Order extends Api
foreach ($response->getHeaders() as $name => $values) {
header($name . ': ' . implode(', ', $values));
}
echo $response->getBody()->getContents();
$body = $response->getBody()->getContents();
Log::info('微信支付回调[应答] http_code=' . $response->getStatusCode() . ' body=' . $body);
echo $body;
exit;
} catch (\Exception $e) {
Log::info('微信回调信息信息_result_error:' . json_encode(['msg' => $e->getMessage()], JSON_UNESCAPED_UNICODE));
} catch (\Throwable $e) {
// 注意:EasyWeChat 的 serve() 只捕获 Exception,TypeError/Error 会冒泡到这里
Log::error('微信回调信息_result_error:' . json_encode([
'msg' => $e->getMessage(),
'file' => $e->getFile() . ':' . $e->getLine(),
], JSON_UNESCAPED_UNICODE));
http_response_code(500);
echo json_encode(['code' => 'FAIL', 'message' => $e->getMessage()], JSON_UNESCAPED_UNICODE);
exit;