Какие библиотеки для оплаты через QIWI сейчас актуальны для aiogram на Python?

Для оплаты через QIWI вместе с библиотекой aiogram на Python можно использовать следующие популярные библиотеки:

1. Qiwipy (https://github.com/sy1ntexx/qiwipy) - это простая и удобная библиотека для взаимодействия с QIWI API. Она предоставляет методы для создания и оплаты счетов, получения информации о балансе, истории операций и многого другого. Библиотека легко интегрируется с aiogram и позволяет создавать ботов, которые могут принимать платежи через QIWI.

Пример использования библиотеки Qiwipy с aiogram:

import qiwipy
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor

TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
QIWI_TOKEN = 'YOUR_QIWI_API_TOKEN'

bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

qiwi_client = qiwipy.Qiwi(token=QIWI_TOKEN)

# Обработчик команды /pay
@dp.message_handler(commands=['pay'])
async def pay(message: types.Message):
    # Создание счета через QIWI API
    payment = qiwi_client.create_payment(price=100, comment='Payment from bot')
    payment_id = payment['payment_id']
    payment_url = payment['payment_url']
    
    # Отправка пользователю ссылки на оплату
    await message.answer(f'Пожалуйста, оплатите по этой ссылке: {payment_url}')
    
    # Ожидание оплаты
    while True:
        # Получение информации о статусе платежа
        payment_info = qiwi_client.get_payment_info(payment_id=payment_id)
        status = payment_info['status']
        
        if status == 'SUCCESS':
            await message.answer('Оплата прошла успешно!')
            break
        elif status == 'WAITING':
            await bot.send_message(message.chat.id, 'Ожидание оплаты...')
        else:
            await bot.send_message(message.chat.id, 'Произошла ошибка при оплате.')
            break

if __name__ == '__main__':
    executor.start_polling(dp)

2. Qiwipy-Async (https://github.com/kubinka0505/Qiwipy-Async) - это асинхронная версия библиотеки Qiwipy. Она также позволяет взаимодействовать с QIWI API и удобна при использовании aiogram, так как обработка запросов в aiogram осуществляется асинхронно.

Пример использования библиотеки Qiwipy-Async с aiogram:

import qiwipy_async as qiwipy
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor

TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
QIWI_TOKEN = 'YOUR_QIWI_API_TOKEN'

bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

qiwi_client = qiwipy.QiwiAsync(token=QIWI_TOKEN)

# Обработчик команды /pay
@dp.message_handler(commands=['pay'])
async def pay(message: types.Message):
    # Создание счета через QIWI API
    payment = await qiwi_client.create_payment(price=100, comment='Payment from bot')
    payment_id = payment['payment_id']
    payment_url = payment['payment_url']
    
    # Отправка пользователю ссылки на оплату
    await message.answer(f'Пожалуйста, оплатите по этой ссылке: {payment_url}')
    
    # Ожидание оплаты
    while True:
        # Получение информации о статусе платежа
        payment_info = await qiwi_client.get_payment_info(payment_id=payment_id)
        status = payment_info['status']
        
        if status == 'SUCCESS':
            await message.answer('Оплата прошла успешно!')
            break
        elif status == 'WAITING':
            await bot.send_message(message.chat.id, 'Ожидание оплаты...')
        else:
            await bot.send_message(message.chat.id, 'Произошла ошибка при оплате.')
            break

if __name__ == '__main__':
    executor.start_polling(dp)

Оба примера позволяют создать команду /pay, которая создает счет через QIWI API и отправляет пользователю ссылку на оплату. Затем, они ожидают оплаты и обновляют пользователю статус оплаты. Эти библиотеки предоставляют удобные методы для работы с платежами через QIWI и могут быть интегрированы в aiogram для создания ботов с возможностью приема платежей.