diff --git a/handlers/payments/pay.py b/handlers/payments/pay.py index 1a9a0960..7285672b 100644 --- a/handlers/payments/pay.py +++ b/handlers/payments/pay.py @@ -56,8 +56,10 @@ async def handle_pay(callback_query: CallbackQuery, state: FSMContext, session: ) return - if len(payment_handlers) == 1 and not has_extra_menu_items: - return await payment_handlers[0](callback_query, state, session) + if not has_extra_menu_items: + enabled_providers_count = sum(1 for _k, _cfg in PROVIDERS.items() if _cfg.get("enabled")) + if enabled_providers_count == 1 and len(payment_handlers) == 1: + return await payment_handlers[0](callback_query, state, session) builder = InlineKeyboardBuilder() for key, cfg in PROVIDERS.items(): @@ -165,6 +167,11 @@ async def back_to_currency(callback_query: CallbackQuery, state: FSMContext, ses ) +@router.callback_query(F.data == "back_to_pay") +async def back_to_pay(callback_query: CallbackQuery, state: FSMContext, session: AsyncSession): + return await balance_handler(callback_query, session) + + @router.callback_query(F.data == "pay_wata_ru") async def handle_pay_wata_ru(callback_query: CallbackQuery, state: FSMContext, session: AsyncSession): await process_callback_pay_wata(callback_query, state, session, cassa_name="ru")