unipay/unipay/notify.py
2025-12-16 18:29:59 +08:00

39 lines
987 B
Python

# unipay/notify.py
from typing import Dict
from appPublic.log import exception
from .providers.transfer import TransferGateway
from .providers.wechat import WechatGateway
from .providers.paypal import PaypalGateway
from .providers.alipay import AlipayGateway
from .providers.stripe import StripeGateway
# 简单工厂:你可以按需扩展配置注入
def get_provider_channel(name:str):
channels = {
"wechat":"0",
"paypal":"1",
"alipay":"2",
"stripe":"3",
"transfer":"4"
}
return channels.get(name, '9')
def get_provider(name: str, conf: Dict):
try:
if name == "transfer":
return TransferGateway(**conf)
if name == "wechat":
return WechatGateway(**conf)
if name == "paypal":
return PaypalGateway(**conf)
if name == "alipay":
return AlipayGateway(**conf)
if name == "stripe":
return StripeGateway(**conf)
except Exception as e:
exception(f'get_proveder() error {name=}, {conf=}, {e}')
return None
raise ValueError("unknown provider")