增加支付宝网关地址配置
This commit is contained in:
@@ -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 = () => {
|
||||
<Form.Item name="alipay_public_key" label="支付宝公钥">
|
||||
<Input.TextArea rows={3} placeholder="支付宝公钥" disabled={!alipayEnabled} />
|
||||
</Form.Item>
|
||||
<Form.Item name="alipay_notify_url" label="回调地址">
|
||||
<Form.Item name="alipay_gateway" label="网关地址" extra="正式环境: https://openapi.alipay.com/gateway.do 沙箱环境: https://openapi-sandbox.dl.alipaydev.com/gateway.do">
|
||||
<Input placeholder="https://openapi.alipay.com/gateway.do" size="large" disabled={!alipayEnabled} />
|
||||
</Form.Item>
|
||||
<Form.Item name="alipay_notify_url" label="回调地址" extra="用户支付成功后,支付宝会主动通知此地址,服务器收到通知后给用户加积分">
|
||||
<Input placeholder="https://yourdomain.com/api/payments/alipay/callback" size="large" disabled={!alipayEnabled} />
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ const AdminPaymentConfig: React.FC = () => {
|
||||
alipay_app_id: '',
|
||||
alipay_private_key: '',
|
||||
alipay_public_key: '',
|
||||
alipay_gateway: '',
|
||||
alipay_notify_url: '',
|
||||
}}>
|
||||
<Form.Item name="alipay_app_id" label="AppID">
|
||||
@@ -104,7 +105,10 @@ const AdminPaymentConfig: React.FC = () => {
|
||||
<Form.Item name="alipay_public_key" label="支付宝公钥">
|
||||
<Input.TextArea rows={3} placeholder="支付宝公钥" disabled={!alipayEnabled} />
|
||||
</Form.Item>
|
||||
<Form.Item name="alipay_notify_url" label="回调地址">
|
||||
<Form.Item name="alipay_gateway" label="网关地址" extra="正式环境: https://openapi.alipay.com/gateway.do 沙箱环境: https://openapi-sandbox.dl.alipaydev.com/gateway.do">
|
||||
<Input placeholder="https://openapi.alipay.com/gateway.do" size="large" disabled={!alipayEnabled} />
|
||||
</Form.Item>
|
||||
<Form.Item name="alipay_notify_url" label="回调地址" extra="用户支付成功后,支付宝会主动通知此地址,服务器收到通知后给用户加积分">
|
||||
<Input placeholder="https://yourdomain.com/api/payments/alipay/callback" size="large" disabled={!alipayEnabled} />
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
||||
Reference in New Issue
Block a user