Загрузка...

Acceptance of payments by CryptoBot from the code - otherwise aiocryptopay.

Thread in Python created by RealMcLovin Dec 19, 2024. (bumped Dec 19, 2024) 908 views

  1. RealMcLovin
    RealMcLovin Topic starter Dec 19, 2024 Banned 20 Jul 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 Dec 19, 2024 121 Aug 28, 2019
    о да, перепечатка README
     
    1. RealMcLovin Topic starter
      TheBoossya, кайф, когда челик фулл скопировал документацию без изменений - все кричали годно :smile_xd:
Top
Loading...