Пишу бота с оплатой через API ключ киви
Нужно чтоб после оплаты подписки бот писал "Подписка оплачена на такой-то срок" и добавлял в бд
Не получается выводить пользователю статус платежа
Написал в отдельном файле оплату с выводом в консоль, все работает
Переношу это в файл бот, ничего не происходит и выдает ошибку
async def oplata(message:types.Message):
await message.answer(f'Выбирай тариф (неделя или навсегда) и получай доступ в приватный канал!',reply_markup=op)
status, response = conn.check_bill(bill_id)
if status == "WAITING":
while status != "PAID":
# time.sleep(5)
status, response = conn.check_bill(bill_id)
if status == "PAID":
conn.remove_bill(bill_id)
await message.answer('Вы оплатили подписку')
Ниже код из отдельного файла для теста где все работает
from PyEasyQiwi import QiwiConnection
import time
api_key = " "
conn = QiwiConnection(api_key)
pay_url, bill_id, response = conn.create_bill(value=1.00, description="weak_sub")
print("Ссылка для оплаты: ", pay_url)
status, response = conn.check_bill(bill_id)
if status == "WAITING":
while status != "PAID":
#time.sleep(5)
status, response=conn.check_bill(bill_id)
if status == "PAID":
conn.remove_bill(bill_id)
print("Счёт закрыт!")
Ошибка:
return str(response.json()['status']['value']), str(response.json())
KeyError: 'status'