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
Hashes for rootpay_sdk-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a7f7a9c4a625b5d46018c40642951a12236a2c9aef3859d4ae541413a34ffa5 |
|
MD5 | 9af6d52aa5378caa914b61832cd7f167 |
|
BLAKE2b-256 | 8c341c888fd5d63e0e55bd59f048f3e4dbba3a3160b5ec7153cbe59ba0aa6d57 |