Skip to main content

A package to interact with root-pay.app API

Project description

Аннотация Есть у меня друг который постоянно заказывает у меня ботов, и в один из дней он попросил добавить платежку root-pay.app , поискал либы и понял что их тупо нет. Сейчас руки дошли сделать полноценную асинхронную библиотеку в которой есть абсолютно все методы из api.

Класс RootPayApi()

Класс RootPayApi предоставляет методы для работы с API сервиса RootPay.

Инициализация

api = RootPayApi(api_key: str)

api_key - это API ключ полученный в телеграмм боте rootpay`а

Методы

get_active_methods

active_methods = await api.get_active_methods()

Возвращает список активных методов получения платежей:

['QIWI', 'CARD', 'USDT', 'ETH', 'SBP', 'YOOMONEY']

balance

balance = await api.balance()

Возвращает баланс кассы:

0

get_payments

payments = await api.get_payments(limit=24)

Возвращает список платежей с указанным лимитом. Параметр limit задает лимит количества операций для выгрузки (по умолчанию 10):

[
	{'amount': '100', 'created_at': '2024-01-28 22:59', 'expired_at': '2024-01-28 23:09', 'method': 'QIWI', 'session_id': 'pb1zeMvxSM8E', 'status': 'check', 'total_amount': '103.57'}, 
	{'amount': '100', 'created_at': '2024-01-28 22:59', 'expired_at': '2024-01-28 23:09', 'method': 'QIWI', 'session_id': 'sin6MhigFskys', 'status': 'check', 'total_amount': '103.53'},
	{'amount': '100', 'created_at': '2024-01-28 22:58', 'expired_at': '2024-01-28 23:08', 'method': 'QIWI', 'session_id': 'iCE3llJXso552', 'status': 'check', 'total_amount': '104.02'},
	{'amount': '100', 'created_at': '2024-01-28 20:27', 'expired_at': '2024-01-29 20:37', 'method': 'QIWI', 'session_id': 'bjjdXvMqjKGwq', 'status': 'check', 'total_amount': '103.38'},
	{'amount': '110', 'created_at': '2024-01-28 18:26', 'expired_at': '2024-01-29 18:36', 'method': 'QIWI', 'session_id': 'pY4oIt8SszQdXiC', 'status': 'check', 'total_amount': '113.78'},
	{'amount': '110', 'created_at': '2024-01-28 18:25', 'expired_at': '2024-01-29 18:35', 'method': 'CARD', 'session_id': 'WQ7zLrWoY9eM', 'status': 'check', 'total_amount': '114.71'}, 
	{'amount': '110', 'created_at': '2024-01-28 18:23', 'expired_at': '2024-01-29 18:33', 'method': 'CARD', 'session_id': 'UNOL30lFv8', 'status': 'check', 'total_amount': '115.70'}, 
	{'amount': '1100', 'created_at': '2024-01-28 18:23', 'expired_at': '2024-01-29 18:33', 'method': 'card', 'session_id': 'IZZkh1YIXftJoG', 'status': 'check', 'total_amount': '1144.70'}, 
	{'amount': '100', 'created_at': '2024-01-28 18:22', 'expired_at': '2024-01-29 18:32', 'method': 'CARD', 'session_id': 'x6huvpZ3Q6AW', 'status': 'check', 'total_amount': '104.59'}, 
	{'amount': '1100', 'created_at': '2024-01-28 18:22', 'expired_at': '2024-01-29 18:32', 'method': 'card', 'session_id': '5vsTm46rmYqtYRZ', 'status': 'check', 'total_amount': '1144.71'}
]

create_payoff

status = await api.create_payoff(method="USDT", wallet="тут мог быть кошелек, но мне не задонатят")

Создает запрос на вывод средств. Возвращает статус операции (удачный (True) или нет (False) вывод). Параметры:

  • method: платежная система кошелька вывода (usdt, card, sbp, qiwi)
  • wallet: реквизиты кошелька получения

create_pay_link

payment = await api.create_pay_link(method: str, amount: int, subtitle: str = None, comment: str = None)

Создает ссылку для оплаты. Возвращает инстанс класса Payment. Параметры:

  • method: метод оплаты (можно получить в функции get_active_methods)
  • amount: целочисленная сумма оплаты
  • subtitle: описание платежа, видит покупатель. Не обязательный параметр
  • comment: дополнительная информация, любая полезная вам нагрузка. Например: Telegram userid покупателя. Не обязательный параметр

Класс Payment()

Класс Payment предоставляет методы для работы с платежами в сервисе RootPay.

Инициализация

payment = Payment(session_id: str, api_key: str)

session_id - это айди платежа, который используется для инициализации класса под конкретный платеж. api_key - это API ключ сервиса RootPay. В случае библиотеки в этот класс переходят новые инвойсы, т.е то что вернет функция create_pay_link будет являться экземпляром этого класса

Методы

is_paid

status = await payment.is_paid()

Возвращает bool, в котором False означает, что инвойс не оплачен, а True - что оплачен:

True

full_info

info = await payment.full_info()

Возвращает полную информацию о платеже в формате:

{
    "amount": "1500",
    "created_at": "2023-02-28 19:36",
    "expired_at": "2023-02-28 19:57",
    "method": "CARD",
    "session_id": "puKHMyu4XxF5",
    "status": "paid",
    "total_amount": "1506.12"
}

get_amount

amount = await payment.get_amount()

Возвращает сумму платежа:

100

Переменные из этого класса

Ссылка на платеж

pay_link = payment.link

Вернет ссылку на платеж:

https://root-pay.app/iCE3llJXso552

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rootpay_sdk-1.0.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

rootpay_sdk-1.0.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file rootpay_sdk-1.0.0.tar.gz.

File metadata

  • Download URL: rootpay_sdk-1.0.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for rootpay_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7da19175c1707876a842f1731340ef9686f7cec50ffb3f7074c26eb403b9902f
MD5 b27f967124b26b6563bb4217168ad804
BLAKE2b-256 b46068a82b15881bb6376e70cdbc740af0481805e65b94d1b37f199ea16ea56b

See more details on using hashes here.

File details

Details for the file rootpay_sdk-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: rootpay_sdk-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for rootpay_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a7f7a9c4a625b5d46018c40642951a12236a2c9aef3859d4ae541413a34ffa5
MD5 9af6d52aa5378caa914b61832cd7f167
BLAKE2b-256 8c341c888fd5d63e0e55bd59f048f3e4dbba3a3160b5ec7153cbe59ba0aa6d57

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page