From d0628eebdad27e987aafa257997fefdb5caaef9a Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 21 Jan 2026 07:33:54 +0300 Subject: [PATCH] Update config.py --- app/config.py | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/app/config.py b/app/config.py index 0a7028b3..b20bbbb2 100644 --- a/app/config.py +++ b/app/config.py @@ -294,6 +294,7 @@ class Settings(BaseSettings): TELEGRAM_STARS_ENABLED: bool = True TELEGRAM_STARS_RATE_RUB: float = 1.3 + TELEGRAM_STARS_DISPLAY_NAME: str = "Telegram Stars" TRIBUTE_ENABLED: bool = False TRIBUTE_API_KEY: Optional[str] = None @@ -303,6 +304,7 @@ class Settings(BaseSettings): TRIBUTE_WEBHOOK_PORT: int = 8081 YOOKASSA_ENABLED: bool = False + YOOKASSA_DISPLAY_NAME: str = "YooKassa" YOOKASSA_SHOP_ID: Optional[str] = None YOOKASSA_SECRET_KEY: Optional[str] = None YOOKASSA_RETURN_URL: Optional[str] = None @@ -348,6 +350,7 @@ class Settings(BaseSettings): PAYMENT_SUBSCRIPTION_TEMPLATE: str = "{service_name} - {description}" CRYPTOBOT_ENABLED: bool = False + CRYPTOBOT_DISPLAY_NAME: str = "CryptoBot" CRYPTOBOT_API_TOKEN: Optional[str] = None CRYPTOBOT_WEBHOOK_SECRET: Optional[str] = None CRYPTOBOT_BASE_URL: str = "https://pay.crypt.bot" @@ -359,6 +362,7 @@ class Settings(BaseSettings): CRYPTOBOT_INVOICE_EXPIRES_HOURS: int = 24 HELEKET_ENABLED: bool = False + HELEKET_DISPLAY_NAME: str = "Heleket Crypto" HELEKET_MERCHANT_ID: Optional[str] = None HELEKET_API_KEY: Optional[str] = None HELEKET_BASE_URL: str = "https://api.heleket.com/v1" @@ -394,6 +398,7 @@ class Settings(BaseSettings): MULENPAY_IFRAME_EXPECTED_ORIGIN: Optional[str] = None PAL24_ENABLED: bool = False + PAL24_DISPLAY_NAME: str = "PAL24" PAL24_API_TOKEN: Optional[str] = None PAL24_SHOP_ID: Optional[str] = None PAL24_SIGNATURE_TOKEN: Optional[str] = None @@ -425,6 +430,7 @@ class Settings(BaseSettings): PLATEGA_WEBHOOK_PORT: int = 8086 WATA_ENABLED: bool = False + WATA_DISPLAY_NAME: str = "Wata" WATA_BASE_URL: str = "https://api.wata.pro/api/h2h" WATA_ACCESS_TOKEN: Optional[str] = None WATA_TERMINAL_PUBLIC_ID: Optional[str] = None @@ -444,6 +450,7 @@ class Settings(BaseSettings): # CloudPayments CLOUDPAYMENTS_ENABLED: bool = False + CLOUDPAYMENTS_DISPLAY_NAME: str = "CloudPayments" CLOUDPAYMENTS_PUBLIC_ID: Optional[str] = None CLOUDPAYMENTS_API_SECRET: Optional[str] = None CLOUDPAYMENTS_API_URL: str = "https://api.cloudpayments.ru" @@ -1481,6 +1488,10 @@ class Settings(BaseSettings): self.YOOKASSA_SHOP_ID is not None and self.YOOKASSA_SECRET_KEY is not None) + def get_yookassa_display_name(self) -> str: + name = (self.YOOKASSA_DISPLAY_NAME or "").strip() + return name if name else "YooKassa" + def is_nalogo_enabled(self) -> bool: return (self.NALOGO_ENABLED and self.NALOGO_INN is not None and @@ -1500,6 +1511,10 @@ class Settings(BaseSettings): return (self.CRYPTOBOT_ENABLED and self.CRYPTOBOT_API_TOKEN is not None) + def get_cryptobot_display_name(self) -> str: + name = (self.CRYPTOBOT_DISPLAY_NAME or "").strip() + return name if name else "CryptoBot" + def is_heleket_enabled(self) -> bool: return ( self.HELEKET_ENABLED @@ -1507,6 +1522,10 @@ class Settings(BaseSettings): and self.HELEKET_API_KEY is not None ) + def get_heleket_display_name(self) -> str: + name = (self.HELEKET_DISPLAY_NAME or "").strip() + return name if name else "Heleket Crypto" + def is_mulenpay_enabled(self) -> bool: return ( self.MULENPAY_ENABLED @@ -1545,6 +1564,10 @@ class Settings(BaseSettings): and self.PAL24_SHOP_ID is not None ) + def get_pal24_display_name(self) -> str: + name = (self.PAL24_DISPLAY_NAME or "").strip() + return name if name else "PAL24" + def is_platega_enabled(self) -> bool: return ( self.PLATEGA_ENABLED @@ -1629,6 +1652,10 @@ class Settings(BaseSettings): and self.WATA_TERMINAL_PUBLIC_ID is not None ) + def get_wata_display_name(self) -> str: + name = (self.WATA_DISPLAY_NAME or "").strip() + return name if name else "Wata" + def is_cloudpayments_enabled(self) -> bool: return ( self.CLOUDPAYMENTS_ENABLED @@ -1636,6 +1663,10 @@ class Settings(BaseSettings): and self.CLOUDPAYMENTS_API_SECRET is not None ) + def get_cloudpayments_display_name(self) -> str: + name = (self.CLOUDPAYMENTS_DISPLAY_NAME or "").strip() + return name if name else "CloudPayments" + def is_freekassa_enabled(self) -> bool: return ( self.FREEKASSA_ENABLED @@ -1931,7 +1962,11 @@ class Settings(BaseSettings): def get_stars_rate(self) -> float: return self.TELEGRAM_STARS_RATE_RUB - + + def get_telegram_stars_display_name(self) -> str: + name = (self.TELEGRAM_STARS_DISPLAY_NAME or "").strip() + return name if name else "Telegram Stars" + def stars_to_rubles(self, stars: int) -> float: return stars * self.get_stars_rate()