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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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