From 7c9eac2c343a8299e8081f7dd7b6c90b6950c672 Mon Sep 17 00:00:00 2001 From: wwwwwwwww <526125649@qq.com> Date: Wed, 10 Jun 2026 13:02:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E7=BD=91=E5=85=B3=E5=9C=B0=E5=9D=80=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- video-gen-admin/src/pages/AdminPaymentConfig.tsx | 7 ++++++- video-gen-api/app/services/payment.py | 7 ++++--- video-gen-app/src/pages/admin/AdminPaymentConfig.tsx | 6 +++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/video-gen-admin/src/pages/AdminPaymentConfig.tsx b/video-gen-admin/src/pages/AdminPaymentConfig.tsx index 0a435789..7eff246b 100644 --- a/video-gen-admin/src/pages/AdminPaymentConfig.tsx +++ b/video-gen-admin/src/pages/AdminPaymentConfig.tsx @@ -36,6 +36,7 @@ const AdminPaymentConfig: React.FC = () => { alipay_private_key: map['payment_alipay_private_key'] || '', alipay_public_key: map['payment_alipay_public_key'] || '', alipay_notify_url: map['payment_alipay_notify_url'] || '', + alipay_gateway: map['payment_alipay_gateway'] || '', }); setWechatEnabled(map['payment_wechat_enabled'] === 'true'); setAlipayEnabled(map['payment_alipay_enabled'] === 'true'); @@ -61,6 +62,7 @@ const AdminPaymentConfig: React.FC = () => { ['payment_alipay_private_key', values.alipay_private_key || ''], ['payment_alipay_public_key', values.alipay_public_key || ''], ['payment_alipay_notify_url', values.alipay_notify_url || ''], + ['payment_alipay_gateway', values.alipay_gateway || ''], ]; for (const [key, value] of updates) { const cfg = configs.find(c => c.key === key); @@ -141,7 +143,10 @@ const AdminPaymentConfig: React.FC = () => { - + + + + diff --git a/video-gen-api/app/services/payment.py b/video-gen-api/app/services/payment.py index bd388e86..e09d2ba5 100644 --- a/video-gen-api/app/services/payment.py +++ b/video-gen-api/app/services/payment.py @@ -41,7 +41,7 @@ _alipay_client = None _alipay_client_app_id = None -def _get_alipay_client(app_id: str, private_key: str, public_key: str): +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 @@ -59,7 +59,7 @@ def _get_alipay_client(app_id: str, private_key: str, public_key: str): return None config = AlipayClientConfig() - config.server_url = "https://openapi.alipay.com/gateway.do" + config.server_url = gateway or "https://openapi.alipay.com/gateway.do" config.app_id = app_id config.app_private_key = private_key config.alipay_public_key = public_key @@ -187,12 +187,13 @@ def _create_alipay_order(order: PaymentOrder, db_configs: dict[str, str]) -> str private_key = db_configs.get("payment_alipay_private_key", "") public_key = db_configs.get("payment_alipay_public_key", "") notify_url = db_configs.get("payment_alipay_notify_url", "") + gateway = db_configs.get("payment_alipay_gateway", "") if not app_id or not private_key: logger.warning("Alipay config missing in database (app_id / private_key)") return None - client = _get_alipay_client(app_id, private_key, public_key) + client = _get_alipay_client(app_id, private_key, public_key, gateway) if client is None: return None diff --git a/video-gen-app/src/pages/admin/AdminPaymentConfig.tsx b/video-gen-app/src/pages/admin/AdminPaymentConfig.tsx index 4965cabb..1de69e39 100644 --- a/video-gen-app/src/pages/admin/AdminPaymentConfig.tsx +++ b/video-gen-app/src/pages/admin/AdminPaymentConfig.tsx @@ -93,6 +93,7 @@ const AdminPaymentConfig: React.FC = () => { alipay_app_id: '', alipay_private_key: '', alipay_public_key: '', + alipay_gateway: '', alipay_notify_url: '', }}> @@ -104,7 +105,10 @@ const AdminPaymentConfig: React.FC = () => { - + + + +