Изменил call_api добавив тип данных и преобразую во float amount

This commit is contained in:
root
2025-11-30 16:51:47 +03:00
parent 3e976d9960
commit 6276490ee1

View File

@@ -33,7 +33,12 @@ async def call_api(method, endpoint, data=None,base_url = BASE_URL_FASTAPI):
try:
async with aiohttp.ClientSession() as session:
async with session.request(method, url, json=data) as response:
async with session.request(
method,
url,
json=data,
headers={"Content-Type": "application/json"}
) as response:
logger.info(
f"Получен ответ от {url}: статус {response.status}"
)
@@ -250,8 +255,34 @@ async def method_ykassa_handler(callback: CallbackQuery):
Обработчик оплаты через 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,"http://billing:8000")
# Формируем данные для отправки
data = {
"user_id": callback.from_user.id,
"amount": float(amount), # Преобразуем в float
"provider": "yookassa"
}
logger.info(f"Отправка запроса на инициализацию платежа: {data}")
# Отправляем POST запрос с JSON телом
result = await call_api("POST", "/billing/payments/init", data, "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", "")
@@ -263,7 +294,15 @@ async def method_ykassa_handler(callback: CallbackQuery):
f"➡️ <a href='{payment_url}'>Перейти к оплате</a>\n\n"
f"<i>После оплаты нажмите кнопку 'Проверить оплату'</i>",
parse_mode="HTML",
disable_web_page_preview=True
disable_web_page_preview=True,
reply_markup=types.InlineKeyboardMarkup(
inline_keyboard=[[
types.InlineKeyboardButton(
text="🔄 Проверить оплату",
callback_data=f"check_payment:{payment_id}"
)]
]
)
)
await callback.answer()
@@ -276,7 +315,7 @@ async def method_crypto_handler(callback: CallbackQuery):
"""
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")
result = await call_api("POST", "billing/payments/init", data,"http://billing:8000/")
payment_url = result.get("confirmation_url", "#")
payment_id = result.get("payment_id", "")