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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7da19175c1707876a842f1731340ef9686f7cec50ffb3f7074c26eb403b9902f |
|
MD5 | b27f967124b26b6563bb4217168ad804 |
|
BLAKE2b-256 | b46068a82b15881bb6376e70cdbc740af0481805e65b94d1b37f199ea16ea56b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a7f7a9c4a625b5d46018c40642951a12236a2c9aef3859d4ae541413a34ffa5 |
|
MD5 | 9af6d52aa5378caa914b61832cd7f167 |
|
BLAKE2b-256 | 8c341c888fd5d63e0e55bd59f048f3e4dbba3a3160b5ec7153cbe59ba0aa6d57 |