From 0d9a86ee543107b90313b5e5bb6e065d31537f8a Mon Sep 17 00:00:00 2001 From: root Date: Sun, 30 Nov 2025 18:13:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BB=D1=8F=20=D0=BA=D1=80=D0=B8=D0=BF?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D0=BE=D1=82=D0=B0=20=D1=82=D0=B0=D0=BA=20?= =?UTF-8?q?=D0=B6=D0=B5=20=D0=BF=D0=BE=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handlers/profile.py | 43 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/handlers/profile.py b/handlers/profile.py index 3c9145e..94632c2 100644 --- a/handlers/profile.py +++ b/handlers/profile.py @@ -310,25 +310,50 @@ 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,"http://billing:8000/") + endpoint = f"/billing/payments/init?user_id={callback.from_user.id}&amount={float(amount)}&provider=cryptobot" + + logger.info(f"Отправка запроса на инициализацию платежа: {endpoint}") + + # Отправляем POST запрос с пустым телом (параметры в URL) + result = await call_api("POST", endpoint, None, "http://billing:8000") + + if result == "ERROR": + await callback.message.edit_text( + "❌ Произошла ошибка при создании платежа. Попробуйте позже." + ) + await callback.answer() + return + + # Проверяем успешность операции + if not result.get("success", False): + error_msg = result.get("error", "Неизвестная ошибка") + await callback.message.edit_text( + f"❌ Ошибка: {error_msg}" + ) + await callback.answer() + return payment_url = result.get("confirmation_url", "#") payment_id = result.get("payment_id", "") - + await callback.message.edit_text( - f"💵 🪙 Оплата через CryptoBot\n\n" + f"💵 Оплата через Сryptobot\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" - "Платёжный шлюз будет добавлен позже.", + disable_web_page_preview=True, + reply_markup=types.InlineKeyboardMarkup( + inline_keyboard=[[ + types.InlineKeyboardButton( + text="🔄 Проверить оплату", + callback_data=f"check_payment:{payment_id}" + )] + ] + ) ) + await callback.answer()