Загрузка...

Прием платежей CryptoBotом из кода - а иначе aiocryptopay.

Тема в разделе Python создана пользователем RealMcLovin 19 дек 2024. (поднята 19 дек 2024) 910 просмотров

  1. RealMcLovin
    RealMcLovin Автор темы 19 дек 2024 Заблокирован(а) 20 29 июл 2024
    Приветствую!

    В данной теме мы научимся принимать платежи через библиотеку в Python. Все платежи будут проходить через API CryptoBot'а, но этот вариант для тех - кто не хочет запары с requests.
    Раньше видел такую тему, но это была полная копирка с документации без разъяснения.
    Итак, мы будем работать с бибиотекой aiocryptopay. Фрагмент 'aio' в начале названия намекает нам о том, что библиотека асинхронная. В своей прошлой статье я где то об этом рассказывал.
    Для начала давайте установим данную библиотеку - выполним команду в консоли.
    ⁡pip install aiocryptopay

    После того, как мы ее успешно установили - можем переходить к следующему этапу.
    Что бы мы смогли пользоваться API - нам нужен ключ. Для начала зайдем в бота.
    [IMG]
    Мы видим тут много пунктов, но нам нужен один - Crypto Pay.
    [IMG]
    В данном меню мы создаём приложение. Нажимаем соответствующую кнопку в меню.
    [IMG]
    Тут вы можете поменять все - но для начала нам нужен только API токен. Жмем на эту кнопку и копируем токен.
    Создание счетов - база, для которой не требуется дополнительных разрешений. Но для полной работы в меню приложения (а именно в настройках безопасности) вам надо включить все методы. Так давайте же начнем работу.

    Python
    from aiocryptopay import AioCryptoPay, Networks
    import asyncio

    token = "ваш токен"

    crypto = AioCryptoPay(token=token, network=Networks.MAIN_NET)

    async def get_profile():
    print(await crypto.get_me())

    asyncio.run(get_profile())
    Данная функция выведет имя приложения. Так же можно поступить с другими методами.

    ⁡crypto.get_stats(), crypto.get_balance(), crypto.get_currencies(), crypto.get_exchange_rates().


    Давайте уже перейдем дальше.
    Давайте получим оплату. Но сначала заменим функцию
    ⁡get_profile()
    ⁡ на эту.

    Python
    async def new_invoice():
    invoice = await crypto.create_invoice(asset='USDT', amount=1.5)
    return invoice.pay_url
    print(asyncio.run(new_invoice()))
    Данный код выведет нам ссылку на оплату счета. Если мы по ней перейдем...

    [IMG]

    После оплаты деньги будут зачислены на счёт приложения, и вывод доступен от 1$ :takeMyMoney:

    Что бы проверить оплату - воспользуемся другим методом. Сделаем функцию для проверки по ID счета.

    Python
    async def get_invoice(id):
    returned = await crypto.get_invoices(invoice_ids=id)
    return str(returned.status)
    Данная функция выведет нам статус счета. 'active' - если счет не оплачен, а 'paid' - если оплачен.

    Думаю, со счетами закончили.
    Начнем с того, что все чеки создаются с баланса приложения - то есть вы должны его пополнить, оплатив как раз таки счет, созданный им. А так-же в настройках безопасности приложения надо включить метод createCheck.

    Сделаем функцию создания чека - и возвращающую ссылку на него.

    Python
    async def new_check(amount):
    check = await crypto.create_check(asset='USDT', amount=amount)
    return str(check.url)
    Я думаю тут понятно уже все.
    И после этого вы можете пользоваться данной библиотекой. Надеюсь, все понятно!
    Всем спасибо и пока. :smile_love:
     
  2. TheBoossya
    TheBoossya 19 дек 2024 121 28 авг 2019
    о да, перепечатка README
     
    1. RealMcLovin Автор темы
      TheBoossya, кайф, когда челик фулл скопировал документацию без изменений - все кричали годно :smile_xd:
Top
Загрузка...