Ошибка в проверке оплаты на pyQiwip2p и aiogram
@dp.callback_query_handler(lambda call_query: call_query.data == 'buy')
async def buy(callback_query: types.CallbackQuery):
comment = str(callback_query.from_user.id) + "_" + str(random.randint(1000, 9999))
keyboard = types.InlineKeyboardMarkup(row_width=1)
bill = p2p.bill(amount=1, lifetime=15, comment=comment)
url = bill.pay_url
bill = bill.bill_id
qiwiMenu = InlineKeyboardMarkup(row_width=1)
btnUrlQIWI = InlineKeyboardButton(text="Ссылка на оплату", url=url)
qiwiMenu.insert(btnUrlQIWI)
btnCheckQIWI = InlineKeyboardButton(text="Проверить оплату!", callback_data="check_")
qiwiMenu.insert(btnCheckQIWI)
keyboard.add(btnUrlQIWI,btnCheckQIWI)
db.add_check(callback_query.from_user.id, bill)
await bot.send_message(callback_query.from_user.id,
f"🎁Оплатите 150₽ за доступ по кнопке ниже\n \n💬Комментарий к оплате: {comment}",
reply_markup=keyboard)
@dp.callback_query_handler(lambda call_query: call_query.data == 'check_')
async def top_up(callback: types.CallbackQuery):
bill = str(callback.data[6:])
info = db.get_check(bill)
if info != False:
if str(p2p.check(bill_id=bill).status) == "PAID":
user_money = db.user_money(callback.from_user.id)
money = int(info[4])
db.set_money(callback.from_user.id, user_money+money)
await bot.send_message(callback.from_user.id, "Счет оплачен! Ждите пока с вами свяжется администратор")
else:
await bot.send_message(callback.from_user.id, "Вы не оплатили счет!", reply_markup=nav.buy_menu(False, bill=bill))
else:
await bot.send_message(callback.from_user.id, "Счет не найден!")
print(p2p.check(bill_id=bill).status)
После нажатия на кнопку бот отправляет мне 'Счет не найден', хотя status = WAITING и в строке кода вылезает ошибка ValueError: Code: 404. Qiwi response is not JSON. This is Qiwi-side bug.
Источник: Stack Overflow на русском