From 8091778d687bc8b6cd78c82f5d5f9db3b3bf1099 Mon Sep 17 00:00:00 2001 From: wwwwwwwww <526125649@qq.com> Date: Mon, 15 Jun 2026 10:38:54 +0800 Subject: [PATCH] 1 --- video-gen-api/app/api/v1/payments.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/video-gen-api/app/api/v1/payments.py b/video-gen-api/app/api/v1/payments.py index 821935bb..44e78681 100644 --- a/video-gen-api/app/api/v1/payments.py +++ b/video-gen-api/app/api/v1/payments.py @@ -120,12 +120,15 @@ async def wechat_callback(request: Request, db: AsyncSession = Depends(get_db)): logger.error("WeChat payment config missing for callback") return {"code": "SUCCESS", "message": "OK"} - # 从请求头获取必要信息 - headers = dict(request.headers) - timestamp = headers.get("Wechatpay-Timestamp", "") - nonce = headers.get("Wechatpay-Nonce", "") - signature = headers.get("Wechatpay-Signature", "") - serial_no = headers.get("Wechatpay-Serial", "") + # 从请求头获取必要信息(不区分大小写) + headers = {k.lower(): v for k, v in dict(request.headers).items()} + timestamp = headers.get("wechatpay-timestamp", "") + nonce = headers.get("wechatpay-nonce", "") + signature = headers.get("wechatpay-signature", "") + serial_no = headers.get("wechatpay-serial", "") + + # 记录调试信息 + logger.debug(f"WeChat callback headers - timestamp:{timestamp}, nonce:{nonce[:10] if nonce else ''}, serial_no:{serial_no}") # 验证签名:使用平台公钥验证 if public_key and serial_no: