1
This commit is contained in:
@@ -211,28 +211,6 @@ _alipay_client = None
|
||||
_alipay_client_app_id = None
|
||||
|
||||
|
||||
def _format_alipay_key(key: str) -> str:
|
||||
"""
|
||||
格式化支付宝密钥,移除PEM头部和尾部,并清理所有空白字符。
|
||||
"""
|
||||
if not key:
|
||||
return ""
|
||||
# 移除首尾空白
|
||||
key = key.strip()
|
||||
# 移除 PEM 头部和尾部
|
||||
key = key.replace("-----BEGIN RSA PRIVATE KEY-----", "")
|
||||
key = key.replace("-----BEGIN PRIVATE KEY-----", "")
|
||||
key = key.replace("-----END RSA PRIVATE KEY-----", "")
|
||||
key = key.replace("-----END PRIVATE KEY-----", "")
|
||||
key = key.replace("-----BEGIN PUBLIC KEY-----", "")
|
||||
key = key.replace("-----END PUBLIC KEY-----", "")
|
||||
key = key.replace("-----BEGIN ALIPAY PUBLIC KEY-----", "")
|
||||
key = key.replace("-----END ALIPAY PUBLIC KEY-----", "")
|
||||
# 移除所有空白字符(换行、空格、制表符等)
|
||||
key = "".join(key.split())
|
||||
return key
|
||||
|
||||
|
||||
def _get_alipay_client(app_id: str, private_key: str, public_key: str, gateway: str = ""):
|
||||
"""Get or create an Alipay client. Recreated if app_id changes."""
|
||||
global _alipay_client, _alipay_client_app_id
|
||||
@@ -250,23 +228,18 @@ def _get_alipay_client(app_id: str, private_key: str, public_key: str, gateway:
|
||||
)
|
||||
return None
|
||||
|
||||
# 格式化私钥和公钥
|
||||
formatted_private_key = _format_alipay_key(private_key)
|
||||
formatted_public_key = _format_alipay_key(public_key)
|
||||
|
||||
config = AlipayClientConfig()
|
||||
config.server_url = gateway or "https://openapi.alipay.com/gateway.do"
|
||||
config.app_id = app_id
|
||||
config.app_private_key = formatted_private_key
|
||||
config.alipay_public_key = formatted_public_key
|
||||
config.app_private_key = private_key
|
||||
config.alipay_public_key = public_key
|
||||
config.sign_type = "RSA2"
|
||||
config.charset = "utf-8"
|
||||
|
||||
try:
|
||||
_alipay_client = DefaultAlipayClient(config, logger)
|
||||
_alipay_client_app_id = app_id
|
||||
logger.info("Alipay client initialized successfully")
|
||||
except Exception as e:
|
||||
except Exception:
|
||||
logger.exception("Failed to initialize Alipay client")
|
||||
_alipay_client = None
|
||||
_alipay_client_app_id = None
|
||||
|
||||
Reference in New Issue
Block a user