Ошибка при использовании giQiwiApi
Использую библиотеку telebot для разработки бота. В данный момент настраиваю оплату через glQiwiApi. Все данные и токены находятся БД Sqlite3. При использовании кода, возникает ошибка:
glQiwiApi.utils.errors.NetworkError: Invalid response with content type application/octet-stream: ""
Можете, пожалуйста, еще подсказать, какую библиотеку лучше использовать для настройки оплаты через QIWI кошелек.
Код:
async def payment():
connect = sqlite3.connect("packegers.db", check_same_thread=False)
cursor = connect.cursor()
cursor.execute("SELECT numer FROM bankDet")
qiwi_number = cursor.fetchone()[0]
cursor.execute("SELECT qiwiToken FROM bankDet")
qiwi_token = cursor.fetchone()[0]
cursor.execute(f"SELECT packValue FROM packs WHERE packName='{m}'")
value = int(cursor.fetchone()[0])
cursor.execute("SELECT numer publicP2Ptoken FROM bankDet")
publicP2Ptoken = cursor.fetchone()[0]
cursor.execute("SELECT numer secretP2Ptoken FROM bankDet")
secretP2Ptoken = cursor.fetchone()[0]
async with QiwiWrapper(secret_p2p=secretP2Ptoken) as w:
bill = await w.create_p2p_bill(amount=value, comment=f'Покупка пакета {m}')
if (await w.check_p2p_bill_status(bill_id=bill.bill_id)) == 'PAID':
bot.send_message(message.chat.id, "Платеж прошел успешно! Вот ваш пакет))")
docID = cursor.execute(f"SELECT packID FROM packs WHERE packName='{m}'").fetchone()[0]
print(docID)
msg = bot.send_document(message.chat.id, docID)
bot.register_next_step_handler(msg, buyPack)
else:
msg = bot.send_message(message.chat.id, "Пакет не оплачен((")
bot.register_next_step_handler(msg, buyPack)
print(await bill.paid)
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(payment())
Ответы (1 шт):
Автор решения: Nikita Nikitin
→ Ссылка
При настройке оплаты выяснилось, что использовать соответствующие библиотеки небезопасно. Поэтому я решил использовать парсинг при помощи либы requests. Вот ссылка на статью: https://itnan.ru/post.php?c=1&p=470023