Для криптобота так же пофиксил
This commit is contained in:
@@ -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"💵 <b>🪙 Оплата через CryptoBot</b>\n\n"
|
||||
f"💵 <b>Оплата через Сryptobot</b>\n\n"
|
||||
f"💰 Сумма: <code>{amount}</code> руб\n"
|
||||
f"📋 ID платежа: <code>{payment_id}</code>\n\n"
|
||||
f"➡️ <a href='{payment_url}'>Перейти к оплате</a>\n\n"
|
||||
f"<i>После оплаты нажмите кнопку 'Проверить оплату'</i>",
|
||||
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()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user