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:
@@ -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():
|
||||
methods.append(
|
||||
{
|
||||
@@ -311,6 +371,16 @@ def is_payment_method_available(method_id: str) -> bool:
|
||||
return settings.is_kassa_ai_enabled()
|
||||
if method_id == 'riopay':
|
||||
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':
|
||||
return settings.is_support_topup_enabled()
|
||||
return False
|
||||
@@ -333,6 +403,12 @@ def get_payment_method_status() -> dict[str, bool]:
|
||||
'cloudpayments': settings.is_cloudpayments_enabled(),
|
||||
'freekassa': settings.is_freekassa_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(),
|
||||
}
|
||||
|
||||
@@ -366,4 +442,16 @@ def get_enabled_payment_methods_count() -> int:
|
||||
count += 1
|
||||
if settings.is_kassa_ai_enabled():
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user