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: