before review
This commit is contained in:
@@ -37,7 +37,6 @@ FREEKASSA_ENABLED=True #
|
||||
FREEKASSA_MERCHANT_ID=your_shop_id # Your shop ID in FreeKassa
|
||||
FREEKASSA_API_KEY=your_api_key # API key for REST requests
|
||||
FREEKASSA_SECOND_SECRET=your_second_secret # Secret word #2 (used to verify notifications)
|
||||
FREEKASSA_CURRENCY=RUB # Default currency for orders
|
||||
FREEKASSA_PAYMENT_IP= # Public IP address reported to FreeKassa
|
||||
|
||||
# CryptoBot Payment Gateway Configuration
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
| `FREEKASSA_API_KEY` | API-ключ для запросов к FreeKassa REST API. |
|
||||
| `FREEKASSA_SECOND_SECRET` | Секретное слово №2 — используется для проверки уведомлений от FreeKassa. |
|
||||
| `FREEKASSA_PAYMENT_URL` | (Опционально, legacy SCI) Базовый URL платёжной формы FreeKassa. По умолчанию `https://pay.freekassa.ru/`. |
|
||||
| `FREEKASSA_CURRENCY` | Код валюты платежа (например, `RUB`). |
|
||||
| `FREEKASSA_PAYMENT_IP` | Внешний IP вашего сервера, который будет передаваться в запрос оплаты. |
|
||||
| `STARS_ENABLED` | Включить/выключить Telegram Stars (`true`/`false`). |
|
||||
| `TRIBUTE_ENABLED`| Включить/выключить Tribute (`true`/`false`). |
|
||||
|
||||
@@ -344,7 +344,7 @@ async def pay_fk_callback_handler(
|
||||
user_id=payment_record.user_id,
|
||||
months=months,
|
||||
amount=price_rub,
|
||||
currency=settings.DEFAULT_CURRENCY_SYMBOL or "RUB",
|
||||
currency=freekassa_service.default_currency,
|
||||
method_code=44,
|
||||
ip_address=freekassa_service.server_ip,
|
||||
extra_params={
|
||||
|
||||
@@ -42,9 +42,7 @@ class FreeKassaService:
|
||||
self.shop_id: Optional[str] = settings.FREEKASSA_MERCHANT_ID
|
||||
self.api_key: Optional[str] = settings.FREEKASSA_API_KEY
|
||||
self.second_secret: Optional[str] = settings.FREEKASSA_SECOND_SECRET
|
||||
self.default_currency: str = (
|
||||
settings.FREEKASSA_CURRENCY or settings.DEFAULT_CURRENCY_SYMBOL or "RUB"
|
||||
).upper()
|
||||
self.default_currency: str = (settings.DEFAULT_CURRENCY_SYMBOL or "RUB").upper()
|
||||
self.server_ip: Optional[str] = settings.FREEKASSA_PAYMENT_IP
|
||||
|
||||
self.api_base_url: str = "https://api.fk.life/v1"
|
||||
@@ -378,7 +376,7 @@ class FreeKassaService:
|
||||
await notification_service.notify_payment_received(
|
||||
user_id=payment.user_id,
|
||||
amount=float(payment.amount),
|
||||
currency=self.currency or self.settings.DEFAULT_CURRENCY_SYMBOL,
|
||||
currency=self.default_currency or self.settings.DEFAULT_CURRENCY_SYMBOL,
|
||||
months=months,
|
||||
payment_provider="freekassa",
|
||||
username=db_user.username if db_user else None,
|
||||
|
||||
+4
-1
@@ -49,7 +49,6 @@ class Settings(BaseSettings):
|
||||
FREEKASSA_FIRST_SECRET: Optional[str] = None
|
||||
FREEKASSA_SECOND_SECRET: Optional[str] = None
|
||||
FREEKASSA_PAYMENT_URL: str = Field(default="https://pay.freekassa.ru/")
|
||||
FREEKASSA_CURRENCY: str = Field(default="RUB")
|
||||
FREEKASSA_API_KEY: Optional[str] = None
|
||||
FREEKASSA_PAYMENT_IP: Optional[str] = None
|
||||
|
||||
@@ -400,6 +399,10 @@ def get_settings() -> Settings:
|
||||
logging.warning(
|
||||
"WARNING: FreeKassa second secret is not set. Incoming payment notifications cannot be verified."
|
||||
)
|
||||
if not _settings_instance.subscription_options:
|
||||
logging.warning(
|
||||
"CRITICAL: FreeKassa is enabled but no subscription prices are configured (RUB_PRICE_*). Users will not see payment buttons."
|
||||
)
|
||||
|
||||
except ValidationError as e:
|
||||
logging.critical(
|
||||
|
||||
Reference in New Issue
Block a user