@kew1700

Как отправлять в чат боте статус платежа?

Пишу бота с оплатой через 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'
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы