mirror of
https://github.com/yawaflua/python-qiwi.git
synced 2025-12-09 20:09:27 +02:00
added readme
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,7 +1,7 @@
|
|||||||
__pycache__/
|
__pycache__/
|
||||||
t.py
|
t.py
|
||||||
/venv
|
/venv
|
||||||
README.md
|
|
||||||
/python_qiwi.egg-info
|
/python_qiwi.egg-info
|
||||||
/dist
|
/dist
|
||||||
/build
|
/build
|
||||||
78
README.md
Normal file
78
README.md
Normal file
@@ -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()
|
||||||
|
```
|
||||||
|
Вернёт информацию о профиле
|
||||||
@@ -12,7 +12,7 @@ class QiwiWаllet():
|
|||||||
self.s.headers['authorization'] = 'Bearer ' + api_token
|
self.s.headers['authorization'] = 'Bearer ' + api_token
|
||||||
self.phone = phone
|
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'
|
sum_p2p = str(int(sum_p2p)) + '.00'
|
||||||
self.s.headers = {
|
self.s.headers = {
|
||||||
'content-type': 'application/json',
|
'content-type': 'application/json',
|
||||||
@@ -21,9 +21,9 @@ class QiwiWаllet():
|
|||||||
}
|
}
|
||||||
|
|
||||||
postjson = {"id": str(int(time.time() * 1000)), "sum": {
|
postjson = {"id": str(int(time.time() * 1000)), "sum": {
|
||||||
"amount": '2.00', "currency": "643"
|
"amount": sum_p2p, "currency": str(currency)
|
||||||
}, "paymentMethod": {
|
}, "paymentMethod": {
|
||||||
"type": "Account", "accountId": "643"
|
"type": "Account", "accountId": str(currency)
|
||||||
}, "comment": str(comment), "fields": {"account": to_qw}}
|
}, "comment": str(comment), "fields": {"account": to_qw}}
|
||||||
res = self.s.post(
|
res = self.s.post(
|
||||||
'https://edge.qiwi.com/sinap/api/v2/terms/99/payments',
|
'https://edge.qiwi.com/sinap/api/v2/terms/99/payments',
|
||||||
@@ -31,17 +31,18 @@ class QiwiWаllet():
|
|||||||
return res.json()
|
return res.json()
|
||||||
|
|
||||||
def payment_history(self, rows_num=5):
|
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/' +
|
h = self.s.get('https://edge.qiwi.com/payment-history/v2/persons/' +
|
||||||
self.phone + '/payments', params=parameters)
|
self.phone + '/payments', params=parameters)
|
||||||
return h.json()
|
return h.json()
|
||||||
|
|
||||||
def bill(self):
|
def bill(self):
|
||||||
letters = string.ascii_lowercase
|
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):
|
def check(self, comment):
|
||||||
lastPayments = self.payment_history(20)
|
lastPayments = self.payment_history(40)
|
||||||
for payment in lastPayments:
|
for payment in lastPayments:
|
||||||
qcomment = payment['comment']
|
qcomment = payment['comment']
|
||||||
if comment in qcomment:
|
if comment in qcomment:
|
||||||
@@ -74,3 +75,11 @@ class QiwiWаllet():
|
|||||||
p = self.s.get(
|
p = self.s.get(
|
||||||
'https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=true&contractInfoEnabled=true&userInfoEnabled=true')
|
'https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=true&contractInfoEnabled=true&userInfoEnabled=true')
|
||||||
return p.json()
|
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
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -7,7 +7,7 @@ with open("README.md", "r", encoding='utf-8') as fh:
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="python-qiwi",
|
name="python-qiwi",
|
||||||
version="1.0.0",
|
version="1.2.0",
|
||||||
author="Lev",
|
author="Lev",
|
||||||
author_email="lev_bariakh@icloud.com",
|
author_email="lev_bariakh@icloud.com",
|
||||||
description="library for easy work with qiwi wallet",
|
description="library for easy work with qiwi wallet",
|
||||||
|
|||||||
Reference in New Issue
Block a user