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():
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user