before review

This commit is contained in:
raufakchurin
2025-10-14 10:31:55 +05:00
parent 59d07314e2
commit c891122064
5 changed files with 7 additions and 8 deletions
-1
View File
@@ -37,7 +37,6 @@ FREEKASSA_ENABLED=True #
FREEKASSA_MERCHANT_ID=your_shop_id # Your shop ID in FreeKassa FREEKASSA_MERCHANT_ID=your_shop_id # Your shop ID in FreeKassa
FREEKASSA_API_KEY=your_api_key # API key for REST requests 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_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 FREEKASSA_PAYMENT_IP= # Public IP address reported to FreeKassa
# CryptoBot Payment Gateway Configuration # CryptoBot Payment Gateway Configuration
-1
View File
@@ -86,7 +86,6 @@
| `FREEKASSA_API_KEY` | API-ключ для запросов к FreeKassa REST API. | | `FREEKASSA_API_KEY` | API-ключ для запросов к FreeKassa REST API. |
| `FREEKASSA_SECOND_SECRET` | Секретное слово №2 — используется для проверки уведомлений от FreeKassa. | | `FREEKASSA_SECOND_SECRET` | Секретное слово №2 — используется для проверки уведомлений от FreeKassa. |
| `FREEKASSA_PAYMENT_URL` | (Опционально, legacy SCI) Базовый URL платёжной формы FreeKassa. По умолчанию `https://pay.freekassa.ru/`. | | `FREEKASSA_PAYMENT_URL` | (Опционально, legacy SCI) Базовый URL платёжной формы FreeKassa. По умолчанию `https://pay.freekassa.ru/`. |
| `FREEKASSA_CURRENCY` | Код валюты платежа (например, `RUB`). |
| `FREEKASSA_PAYMENT_IP` | Внешний IP вашего сервера, который будет передаваться в запрос оплаты. | | `FREEKASSA_PAYMENT_IP` | Внешний IP вашего сервера, который будет передаваться в запрос оплаты. |
| `STARS_ENABLED` | Включить/выключить Telegram Stars (`true`/`false`). | | `STARS_ENABLED` | Включить/выключить Telegram Stars (`true`/`false`). |
| `TRIBUTE_ENABLED`| Включить/выключить Tribute (`true`/`false`). | | `TRIBUTE_ENABLED`| Включить/выключить Tribute (`true`/`false`). |
+1 -1
View File
@@ -344,7 +344,7 @@ async def pay_fk_callback_handler(
user_id=payment_record.user_id, user_id=payment_record.user_id,
months=months, months=months,
amount=price_rub, amount=price_rub,
currency=settings.DEFAULT_CURRENCY_SYMBOL or "RUB", currency=freekassa_service.default_currency,
method_code=44, method_code=44,
ip_address=freekassa_service.server_ip, ip_address=freekassa_service.server_ip,
extra_params={ extra_params={
+2 -4
View File
@@ -42,9 +42,7 @@ class FreeKassaService:
self.shop_id: Optional[str] = settings.FREEKASSA_MERCHANT_ID self.shop_id: Optional[str] = settings.FREEKASSA_MERCHANT_ID
self.api_key: Optional[str] = settings.FREEKASSA_API_KEY self.api_key: Optional[str] = settings.FREEKASSA_API_KEY
self.second_secret: Optional[str] = settings.FREEKASSA_SECOND_SECRET self.second_secret: Optional[str] = settings.FREEKASSA_SECOND_SECRET
self.default_currency: str = ( self.default_currency: str = (settings.DEFAULT_CURRENCY_SYMBOL or "RUB").upper()
settings.FREEKASSA_CURRENCY or settings.DEFAULT_CURRENCY_SYMBOL or "RUB"
).upper()
self.server_ip: Optional[str] = settings.FREEKASSA_PAYMENT_IP self.server_ip: Optional[str] = settings.FREEKASSA_PAYMENT_IP
self.api_base_url: str = "https://api.fk.life/v1" self.api_base_url: str = "https://api.fk.life/v1"
@@ -378,7 +376,7 @@ class FreeKassaService:
await notification_service.notify_payment_received( await notification_service.notify_payment_received(
user_id=payment.user_id, user_id=payment.user_id,
amount=float(payment.amount), 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, months=months,
payment_provider="freekassa", payment_provider="freekassa",
username=db_user.username if db_user else None, username=db_user.username if db_user else None,
+4 -1
View File
@@ -49,7 +49,6 @@ class Settings(BaseSettings):
FREEKASSA_FIRST_SECRET: Optional[str] = None FREEKASSA_FIRST_SECRET: Optional[str] = None
FREEKASSA_SECOND_SECRET: Optional[str] = None FREEKASSA_SECOND_SECRET: Optional[str] = None
FREEKASSA_PAYMENT_URL: str = Field(default="https://pay.freekassa.ru/") FREEKASSA_PAYMENT_URL: str = Field(default="https://pay.freekassa.ru/")
FREEKASSA_CURRENCY: str = Field(default="RUB")
FREEKASSA_API_KEY: Optional[str] = None FREEKASSA_API_KEY: Optional[str] = None
FREEKASSA_PAYMENT_IP: Optional[str] = None FREEKASSA_PAYMENT_IP: Optional[str] = None
@@ -400,6 +399,10 @@ def get_settings() -> Settings:
logging.warning( logging.warning(
"WARNING: FreeKassa second secret is not set. Incoming payment notifications cannot be verified." "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: except ValidationError as e:
logging.critical( logging.critical(