添加支付日志
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user