mirror of
https://github.com/yawaflua/python-qiwi.git
synced 2025-12-08 19:39:28 +02:00
added readme
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,7 +1,7 @@
|
||||
__pycache__/
|
||||
t.py
|
||||
/venv
|
||||
README.md
|
||||
|
||||
/python_qiwi.egg-info
|
||||
/dist
|
||||
/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.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
|
||||
|
||||
Reference in New Issue
Block a user