fix: add missing payment providers to payment_utils and fix {total_amount} formatting

- Add freekassa, cloudpayments, kassa_ai to get_available_payment_methods(),
  is_payment_method_available(), get_payment_method_status(), and
  get_enabled_payment_methods_count()
- Fix cart reminder message showing literal {total_amount} in platega,
  stars, mulenpay, wata by adding .format() call
This commit is contained in:
Fringg
2026-02-18 09:50:36 +03:00
parent 59383bdbd8
commit bdb61613de
5 changed files with 55 additions and 4 deletions

View File

@@ -380,7 +380,7 @@ class MulenPayPaymentMixin:
'BALANCE_TOPUP_CART_REMINDER_DETAILED',
'🛒 У вас есть неоформленный заказ.\n\n'
'Вы можете продолжить оформление с теми же параметрами.',
)
).format(total_amount=settings.format_price(payment.amount_kopeks))
# Создаем клавиатуру с кнопками
keyboard = types.InlineKeyboardMarkup(

View File

@@ -471,7 +471,7 @@ class PlategaPaymentMixin:
cart_message = texts.t(
'BALANCE_TOPUP_CART_REMINDER_DETAILED',
'🛒 У вас есть неоформленный заказ.\n\nВы можете продолжить оформление с теми же параметрами.',
)
).format(total_amount=settings.format_price(payment.amount_kopeks))
keyboard = types.InlineKeyboardMarkup(
inline_keyboard=[

View File

@@ -495,7 +495,7 @@ class TelegramStarsMixin:
cart_message = texts.t(
'BALANCE_TOPUP_CART_REMINDER_DETAILED',
'🛒 У вас есть неоформленный заказ.\n\nВы можете продолжить оформление с теми же параметрами.',
)
).format(total_amount=settings.format_price(amount_kopeks))
keyboard = types.InlineKeyboardMarkup(
inline_keyboard=[

View File

@@ -561,7 +561,7 @@ class WataPaymentMixin:
cart_message = texts.t(
'BALANCE_TOPUP_CART_REMINDER_DETAILED',
'🛒 У вас есть неоформленный заказ.\n\nВы можете продолжить оформление с теми же параметрами.',
)
).format(total_amount=settings.format_price(payment.amount_kopeks))
keyboard = types.InlineKeyboardMarkup(
inline_keyboard=[

View File

@@ -114,6 +114,42 @@ def get_available_payment_methods() -> list[dict[str, str]]:
}
)
if settings.is_cloudpayments_enabled():
cloudpayments_name = settings.get_cloudpayments_display_name()
methods.append(
{
'id': 'cloudpayments',
'name': 'Банковская карта',
'icon': '💳',
'description': f'через {cloudpayments_name}',
'callback': 'topup_cloudpayments',
}
)
if settings.is_freekassa_enabled():
freekassa_name = settings.get_freekassa_display_name()
methods.append(
{
'id': 'freekassa',
'name': freekassa_name,
'icon': '💳',
'description': f'через {freekassa_name}',
'callback': 'topup_freekassa',
}
)
if settings.is_kassa_ai_enabled():
kassa_ai_name = settings.get_kassa_ai_display_name()
methods.append(
{
'id': 'kassa_ai',
'name': kassa_ai_name,
'icon': '💳',
'description': f'через {kassa_ai_name}',
'callback': 'topup_kassa_ai',
}
)
if settings.is_support_topup_enabled():
methods.append(
{
@@ -225,6 +261,12 @@ def is_payment_method_available(method_id: str) -> bool:
return settings.is_heleket_enabled()
if method_id == 'platega':
return settings.is_platega_enabled() and bool(settings.get_platega_active_methods())
if method_id == 'cloudpayments':
return settings.is_cloudpayments_enabled()
if method_id == 'freekassa':
return settings.is_freekassa_enabled()
if method_id == 'kassa_ai':
return settings.is_kassa_ai_enabled()
if method_id == 'support':
return settings.is_support_topup_enabled()
return False
@@ -244,6 +286,9 @@ def get_payment_method_status() -> dict[str, bool]:
'cryptobot': settings.is_cryptobot_enabled(),
'heleket': settings.is_heleket_enabled(),
'platega': settings.is_platega_enabled() and bool(settings.get_platega_active_methods()),
'cloudpayments': settings.is_cloudpayments_enabled(),
'freekassa': settings.is_freekassa_enabled(),
'kassa_ai': settings.is_kassa_ai_enabled(),
'support': settings.is_support_topup_enabled(),
}
@@ -271,4 +316,10 @@ def get_enabled_payment_methods_count() -> int:
count += 1
if settings.is_platega_enabled() and settings.get_platega_active_methods():
count += 1
if settings.is_cloudpayments_enabled():
count += 1
if settings.is_freekassa_enabled():
count += 1
if settings.is_kassa_ai_enabled():
count += 1
return count