fix: add 6 missing payment providers to payment_utils availability checks

RollyPay (and 5 others) showed buttons but triggered "payment methods
unavailable" because get_available_payment_methods() was missing them.
The keyboard builder (inline.py) had all providers, but the text
generator (payment_utils.py) did not — divergent hand-maintained lists.

Added to all 4 functions: get_available_payment_methods,
is_payment_method_available, get_payment_method_status,
get_enabled_payment_methods_count:
- SeverPay, PayPear, RollyPay, Overpay, AuraPay (new)
- RioPay (was in methods list but missing from status/count)
This commit is contained in:
Fringg
2026-04-29 08:27:37 +03:00
parent 29e177d396
commit 83efc214fe
+88
View File
@@ -184,6 +184,66 @@ def get_available_payment_methods() -> list[dict[str, str]]:
} }
) )
if settings.is_severpay_enabled():
severpay_name = settings.get_severpay_display_name()
methods.append(
{
'id': 'severpay',
'name': f'Банковская карта ({severpay_name})',
'icon': '💳',
'description': f'через {severpay_name}',
'callback': 'topup_severpay',
}
)
if settings.is_paypear_enabled():
paypear_name = settings.get_paypear_display_name()
methods.append(
{
'id': 'paypear',
'name': paypear_name,
'icon': '💳',
'description': f'через {paypear_name}',
'callback': 'topup_paypear',
}
)
if settings.is_rollypay_enabled():
rollypay_name = settings.get_rollypay_display_name()
methods.append(
{
'id': 'rollypay',
'name': rollypay_name,
'icon': '💳',
'description': f'через {rollypay_name}',
'callback': 'topup_rollypay',
}
)
if settings.is_overpay_enabled():
overpay_name = settings.get_overpay_display_name()
methods.append(
{
'id': 'overpay',
'name': overpay_name,
'icon': '💳',
'description': f'через {overpay_name}',
'callback': 'topup_overpay',
}
)
if settings.is_aurapay_enabled():
aurapay_name = settings.get_aurapay_display_name()
methods.append(
{
'id': 'aurapay',
'name': aurapay_name,
'icon': '💳',
'description': f'через {aurapay_name}',
'callback': 'topup_aurapay',
}
)
if settings.is_support_topup_enabled(): if settings.is_support_topup_enabled():
methods.append( methods.append(
{ {
@@ -311,6 +371,16 @@ def is_payment_method_available(method_id: str) -> bool:
return settings.is_kassa_ai_enabled() return settings.is_kassa_ai_enabled()
if method_id == 'riopay': if method_id == 'riopay':
return settings.is_riopay_enabled() return settings.is_riopay_enabled()
if method_id == 'severpay':
return settings.is_severpay_enabled()
if method_id == 'paypear':
return settings.is_paypear_enabled()
if method_id == 'rollypay':
return settings.is_rollypay_enabled()
if method_id == 'overpay':
return settings.is_overpay_enabled()
if method_id == 'aurapay':
return settings.is_aurapay_enabled()
if method_id == 'support': if method_id == 'support':
return settings.is_support_topup_enabled() return settings.is_support_topup_enabled()
return False return False
@@ -333,6 +403,12 @@ def get_payment_method_status() -> dict[str, bool]:
'cloudpayments': settings.is_cloudpayments_enabled(), 'cloudpayments': settings.is_cloudpayments_enabled(),
'freekassa': settings.is_freekassa_enabled(), 'freekassa': settings.is_freekassa_enabled(),
'kassa_ai': settings.is_kassa_ai_enabled(), 'kassa_ai': settings.is_kassa_ai_enabled(),
'riopay': settings.is_riopay_enabled(),
'severpay': settings.is_severpay_enabled(),
'paypear': settings.is_paypear_enabled(),
'rollypay': settings.is_rollypay_enabled(),
'overpay': settings.is_overpay_enabled(),
'aurapay': settings.is_aurapay_enabled(),
'support': settings.is_support_topup_enabled(), 'support': settings.is_support_topup_enabled(),
} }
@@ -366,4 +442,16 @@ def get_enabled_payment_methods_count() -> int:
count += 1 count += 1
if settings.is_kassa_ai_enabled(): if settings.is_kassa_ai_enabled():
count += 1 count += 1
if settings.is_riopay_enabled():
count += 1
if settings.is_severpay_enabled():
count += 1
if settings.is_paypear_enabled():
count += 1
if settings.is_rollypay_enabled():
count += 1
if settings.is_overpay_enabled():
count += 1
if settings.is_aurapay_enabled():
count += 1
return count return count