diff --git a/handlers/profile.py b/handlers/profile.py index bd10299..79fe1a1 100644 --- a/handlers/profile.py +++ b/handlers/profile.py @@ -247,13 +247,25 @@ async def method_stars_handler(callback: CallbackQuery): @router.callback_query(lambda callback: callback.data.startswith("method_ykassa_")) async def method_ykassa_handler(callback: CallbackQuery): """ - Заглушка: оплата через YooKassa. + Обработчик оплаты через YooKassa. """ amount = callback.data.split("_")[-1] + data = {"user_id": callback.from_user.id, "amount": amount, "provider": "yookassa"} + result = await call_api("POST", "billing/payments/init", data) + + payment_url = result.get("confirmation_url", "#") + payment_id = result.get("payment_id", "") + await callback.message.edit_text( - f"💵 Оплата через YooKassa на {amount} ₽ пока в разработке.\n\n" - "Функционал появится после настройки биллинга.", + f"💵 Оплата через YooKassa\n\n" + f"💰 Сумма: {amount} руб\n" + f"📋 ID платежа: {payment_id}\n\n" + f"➡️ Перейти к оплате\n\n" + f"После оплаты нажмите кнопку 'Проверить оплату'", + parse_mode="HTML", + disable_web_page_preview=True ) + await callback.answer() @@ -263,8 +275,23 @@ async def method_crypto_handler(callback: CallbackQuery): Заглушка: оплата через CryptoBot. """ amount = callback.data.split("_")[-1] + data = {"user_id": callback.from_user.id, "amount": amount, "provider": "cryptobot"} + result = await call_api("POST", "billing/payments/init", data) + + payment_url = result.get("confirmation_url", "#") + payment_id = result.get("payment_id", "") + await callback.message.edit_text( - f"🪙 Оплата через CryptoBot на {amount} ₽ пока в разработке.\n\n" + f"💵 🪙 Оплата через CryptoBot\n\n" + f"💰 Сумма: {amount} руб\n" + f"📋 ID платежа: {payment_id}\n\n" + f"➡️ Перейти к оплате\n\n" + f"После оплаты нажмите кнопку 'Проверить оплату'", + parse_mode="HTML", + disable_web_page_preview=True + ) + await callback.message.edit_text( + f" {amount} ₽ пока в разработке.\n\n" "Платёжный шлюз будет добавлен позже.", ) await callback.answer()