From dbee57164b2fd504089b409bddc7bdc9ce74f79a Mon Sep 17 00:00:00 2001 From: ms lev Date: Wed, 1 Dec 2021 21:44:07 +0500 Subject: [PATCH] added readme --- .gitignore | 2 +- README.md | 78 ++++++++++++++++++++++++++++++++++++++ python_qiwi/python_qiwi.py | 21 +++++++--- setup.py | 2 +- 4 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 README.md diff --git a/.gitignore b/.gitignore index 331211d..5f9a762 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ __pycache__/ t.py /venv -README.md + /python_qiwi.egg-info /dist /build \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..bea4b70 --- /dev/null +++ b/README.md @@ -0,0 +1,78 @@ +# python-qiwi +## **RU** vercion +### Билиотека python-qiwi используется для удобной работы с api QIWI кошелька +____ + +### Установка: +```pip install - U python-qiwi``` + +### Создание объекта wallet: +```python +import python_qiwi +phone = '+79021234567' # номер телефона +token = 'token' # токен полученный на сайте https://qiwi.com/api +wallet = python_qiwi.QiwiWаllet(phone, token) +``` +### Получение баланса кошелька + +```python +wallet.balance() +``` +Это вернёт баланс первого вашего счёта. Например: 500.00 + + +Если же вы хотите получить балан со всех свох счетов то используйте +```python +wallet.full_balance() +``` +Это вернёт вам json ответ. Например: +```json +{'accounts': [{'alias': 'qw_wallet_rub', 'fsAlias': 'qb_wallet', 'bankAlias': 'QIWI', 'title': 'Qiwi Account', 'type': {'id': 'WALLET', 'title': 'QIWI Wallet'}, 'hasBalance': True, 'balance': {'amount': 500.00, 'currency': 643}, 'currency': 643, 'defaultAccount': True}]} +``` +____ + +### Платёж +Для того что бы перевести деньги с кошелька на кошелёк используйте +```python +wallet.pay(to_qw='+79012345678', sum_p2p=10, comment='комментарий к платежу', currency=643) +``` +to_qw - номер кошелька для перевода + +sum_p2p - сумма перевода в формате int + +comment - комментарий к платежу + +currency - код валюты(по умолчанию - рубль) +___ +### Выставление счёта +Испоьзуйте +```python +bill = wallet.bill() +``` +Вы получите специальную комбинацию символов. Её надо указать в при переводе средств на счёт указанный при создании объекта кошелька +____ +### Проверка оплаты +Для того что бы проверить оплату используйте +```python +if wallet.check(bill): + print('Оплата прошла') +``` +bill - это специальная комбинация символов. Вы могли получить её в [прошлом разделе](###Выставление-счёта) +___ +### Получение информации о платиже +```python +wallet.get_payment(bill) +``` +bill - это специальная комбинация символов. Вы могли получить её в разделе ["Выставление счёта"](###Выставление-счёта) +____ +### Получение истории платижей +```python +wallet.payment_history(rows_num=10) +``` +rows_num - количество платижей которые вы хотите получить +____ +### Получение информации о профиле +```python +wallet.get_profile() +``` +Вернёт информацию о профиле diff --git a/python_qiwi/python_qiwi.py b/python_qiwi/python_qiwi.py index 30eafe5..b603181 100644 --- a/python_qiwi/python_qiwi.py +++ b/python_qiwi/python_qiwi.py @@ -12,7 +12,7 @@ class QiwiWаllet(): self.s.headers['authorization'] = 'Bearer ' + api_token self.phone = phone - def pay(self, to_qw, sum_p2p, comment=''): + def pay(self, to_qw, sum_p2p, comment='', currency=643): sum_p2p = str(int(sum_p2p)) + '.00' self.s.headers = { 'content-type': 'application/json', @@ -21,9 +21,9 @@ class QiwiWаllet(): } postjson = {"id": str(int(time.time() * 1000)), "sum": { - "amount": '2.00', "currency": "643" + "amount": sum_p2p, "currency": str(currency) }, "paymentMethod": { - "type": "Account", "accountId": "643" + "type": "Account", "accountId": str(currency) }, "comment": str(comment), "fields": {"account": to_qw}} res = self.s.post( 'https://edge.qiwi.com/sinap/api/v2/terms/99/payments', @@ -31,17 +31,18 @@ class QiwiWаllet(): return res.json() def payment_history(self, rows_num=5): - parameters = {'rows': str(rows_num), 'nextTxnId': '', 'nextTxnDate': ''} + parameters = {'rows': str( + rows_num), 'nextTxnId': '', 'nextTxnDate': ''} h = self.s.get('https://edge.qiwi.com/payment-history/v2/persons/' + self.phone + '/payments', params=parameters) return h.json() def bill(self): letters = string.ascii_lowercase - return ''.join(random.choice(letters) for i in range(7)) + return ''.join(random.choice(letters) for i in range(12)) def check(self, comment): - lastPayments = self.payment_history(20) + lastPayments = self.payment_history(40) for payment in lastPayments: qcomment = payment['comment'] if comment in qcomment: @@ -74,3 +75,11 @@ class QiwiWаllet(): p = self.s.get( 'https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=true&contractInfoEnabled=true&userInfoEnabled=true') return p.json() + + def get_payment(self, comment): + lastPayments = self.payment_history(30) + for payment in lastPayments: + qcomment = payment['comment'] + if comment in qcomment: + return payment + return False diff --git a/setup.py b/setup.py index e28565c..93aeacd 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ with open("README.md", "r", encoding='utf-8') as fh: setup( name="python-qiwi", - version="1.0.0", + version="1.2.0", author="Lev", author_email="lev_bariakh@icloud.com", description="library for easy work with qiwi wallet",