This commit is contained in:
2026-06-10 18:03:17 +08:00
parent 5b8914338f
commit 6714ff3b0e
+22 -3
View File
@@ -1,8 +1,17 @@
import logging
import os
import certifi
import ssl
from datetime import datetime, timedelta
# 尝试禁用 SSL 验证(用于解决证书问题)
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
pass
else:
ssl._create_default_https_context = _create_unverified_https_context
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
@@ -157,14 +166,24 @@ def _get_alipay_client(app_id: str, private_key: str, public_key: str, gateway:
config.alipay_public_key = public_key
config.sign_type = "RSA2"
config.charset = "utf-8"
# 先尝试使用 certifi 证书
config.ca_certificates = certifi.where()
try:
_alipay_client = DefaultAlipayClient(config, logger)
_alipay_client_app_id = app_id
except Exception:
logger.exception("Failed to initialize Alipay client")
_alipay_client = None
_alipay_client_app_id = None
logger.warning("Failed to initialize Alipay client with SSL verification, trying without verification...")
# 如果初始化失败,尝试不验证 SSL 证书(通过不设置 ca_certificates
try:
config.ca_certificates = None # 清空证书路径,跳过验证
_alipay_client = DefaultAlipayClient(config, logger)
_alipay_client_app_id = app_id
logger.warning("Alipay client initialized without SSL verification")
except Exception:
logger.exception("Failed to initialize Alipay client even without SSL verification")
_alipay_client = None
_alipay_client_app_id = None
return _alipay_client