-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10 from yoomoney/release/v2.2.0
Release/2.2.0
- Loading branch information
Showing
71 changed files
with
2,607 additions
and
233 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
## Работа со сделками | ||
|
||
SDK позволяет создавать сделки, а также получать информацию о них. | ||
|
||
Объект сделки `DealResponse` содержит всю информацию о сделке, актуальную на текущий момент времени. | ||
Он формируется при создании сделки и приходит в ответ на любой запрос, связанный со сделками. | ||
|
||
* [Запрос на создание сделки](#Запрос-на-создание-сделки) | ||
* [Запрос на создание сделки через билдер](#Запрос-на-создание-сделки-через-билдер) | ||
* [Получить информацию о сделке](#Получить-информацию-о-сделке) | ||
* [Получить список сделок с фильтрацией](#Получить-список-сделок-с-фильтрацией) | ||
|
||
--- | ||
|
||
### Запрос на создание сделки | ||
|
||
[Создание сделки в документации](https://yookassa.ru/developers/api?lang=python#create_deal) | ||
|
||
Чтобы создать сделку, необходимо создать объект сделки — `DealRequest`. Он позволяет создать сделку, в рамках которой | ||
необходимо принять оплату от покупателя и перечислить ее продавцу. | ||
|
||
В ответ на запрос придет объект сделки - `DealResponse` в актуальном статусе. | ||
|
||
```python | ||
import var_dump as var_dump | ||
from yookassa import Deal | ||
|
||
res = Deal.create({ | ||
"type": "safe_deal", | ||
"fee_moment": "payment_succeeded", | ||
"metadata": { | ||
"order_id": "88" | ||
}, | ||
"description": "SAFE_DEAL PYTHON 123554642-2432FF344R" | ||
}) | ||
|
||
var_dump.var_dump(res) | ||
``` | ||
--- | ||
|
||
### Запрос на создание сделки через билдер | ||
|
||
[Создание сделки в документации](https://yookassa.ru/developers/api?lang=python#create_deal) | ||
|
||
Билдер позволяет создать объект сделки — `DealRequest` программным способом, через объекты. | ||
|
||
```python | ||
import var_dump as var_dump | ||
from yookassa import Deal | ||
from yookassa.domain.models.deal import DealType, FeeMoment | ||
from yookassa.domain.request import DealRequestBuilder | ||
|
||
builder = DealRequestBuilder() \ | ||
.set_type(DealType.SAFE_DEAL) \ | ||
.set_fee_moment(FeeMoment.PAYMENT_SUCCEEDED) \ | ||
.set_description('SAFE_DEAL 123554642-2432FF344R') \ | ||
.set_metadata({'order_id': '37'}) | ||
|
||
request = builder.build() | ||
# Можно что-то поменять, если нужно | ||
request.description = 'SAFE_DEAL PYTHON 123554642-2432FF344R' | ||
res = Deal.create(request) | ||
|
||
var_dump.var_dump(res) | ||
``` | ||
--- | ||
|
||
### Получить информацию о сделке | ||
|
||
[Информация о сделке в документации](https://yookassa.ru/developers/api?lang=python) | ||
|
||
Запрос позволяет получить информацию о текущем состоянии сделки по его уникальному идентификатору. | ||
|
||
В ответ на запрос придет объект сделки - `DealResponse` в актуальном статусе. | ||
|
||
```python | ||
import var_dump as var_dump | ||
from yookassa import Deal | ||
|
||
res = Deal.find_one('dl-285e5ee7-0022-5000-8000-01516a44b147') | ||
|
||
var_dump.var_dump(res) | ||
``` | ||
--- | ||
|
||
### Получить список сделок с фильтрацией | ||
|
||
[Список сделок в документации](https://yookassa.ru/developers/api?lang=python#get_deals_list) | ||
|
||
Запрос позволяет получить список сделок, отфильтрованный по заданным критериям. | ||
|
||
В ответ на запрос вернется список сделок с учетом переданных параметров. В списке будет информация о сделках, | ||
созданных за последние 3 года. Список будет отсортирован по времени создания сделок в порядке убывания. | ||
|
||
Если результатов больше, чем задано в `limit`, список будет выводиться фрагментами. В этом случае в ответе на запрос | ||
вернется фрагмент списка и параметр `next_cursor` с указателем на следующий фрагмент. | ||
|
||
```python | ||
import var_dump as var_dump | ||
from yookassa import Deal | ||
|
||
cursor = None | ||
data = { | ||
"limit": 10, # Ограничиваем размер выборки | ||
"status": "closed", # Выбираем только открытые сделки | ||
"full_text_search": "PYTHON", # Фильтр по описанию сделки — параметру description | ||
"created_at.gte": "2021-08-01T00:00:00.000Z", # Созданы начиная с 2021-08-01 | ||
"created_at.lt": "2021-11-20T00:00:00.000Z" # И до 2021-11-20 | ||
} | ||
|
||
while True: | ||
params = data | ||
if cursor: | ||
params['cursor'] = cursor | ||
try: | ||
res = Deal.list(params) | ||
print(" items: " + str(len(res.items))) # Количество сделок в выборке | ||
print("cursor: " + str(res.next_cursor)) # Указательна следующую страницу | ||
var_dump.var_dump(res) | ||
|
||
if not res.next_cursor: | ||
break | ||
else: | ||
cursor = res.next_cursor | ||
except Exception as e: | ||
print(" Error: " + str(e)) | ||
break | ||
|
||
``` | ||
[Подробнее о работе со списками](https://yookassa.ru/developers/using-api/lists) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
## Работа с выплатами | ||
|
||
SDK позволяет создавать, подтверждать, отменять выплаты, а также получать информацию о них. | ||
|
||
Объект выплаты `PayoutResponse` содержит всю информацию о выплате, актуальную на текущий момент времени. | ||
Он формируется при создании выплаты и приходит в ответ на любой запрос, связанный с выплатами. | ||
|
||
* [Запрос на создание выплаты](#Запрос-на-создание-выплаты) | ||
* [Запрос на создание выплаты через билдер](#Запрос-на-создание-выплаты-через-билдер) | ||
* [Получить информацию о выплате](#Получить-информацию-о-выплате) | ||
|
||
--- | ||
|
||
### Запрос на создание выплаты | ||
|
||
[Создание выплаты в документации](https://yookassa.ru/developers/api?lang=python#create_payout) | ||
|
||
Чтобы принять оплату, необходимо создать объект выплаты — `PayoutRequest`. Он содержит всю необходимую информацию | ||
для проведения оплаты (сумму, валюту и статус). У выплаты линейный жизненный цикл, | ||
он последовательно переходит из статуса в статус. | ||
|
||
В ответ на запрос придет объект выплаты - `PayoutResponse` в актуальном статусе. | ||
|
||
```python | ||
import var_dump as var_dump | ||
from yookassa import Payout | ||
from yookassa.domain.common import PaymentMethodType | ||
from yookassa.domain.models.currency import Currency | ||
|
||
res = Payout.create({ | ||
"amount": {"value": 320.0, "currency": Currency.RUB}, | ||
"payout_destination_data": {'type': PaymentMethodType.YOO_MONEY, 'account_number': '41001614575714'}, | ||
"description": "Выплата по заказу №37", | ||
"metadata": { | ||
"order_id": "37" | ||
}, | ||
"deal": { | ||
"id": "dl-285e5ee7-0022-5000-8000-01516a44b147" | ||
} | ||
}) | ||
|
||
var_dump.var_dump(res) | ||
``` | ||
--- | ||
|
||
### Запрос на создание выплаты через билдер | ||
|
||
[Создание выплаты в документации](https://yookassa.ru/developers/api?lang=python#create_payout) | ||
|
||
Билдер позволяет создать объект выплаты — `PayoutRequest` программным способом, через объекты. | ||
|
||
```python | ||
import var_dump as var_dump | ||
from yookassa import Payout | ||
from yookassa.domain.models.currency import Currency | ||
from yookassa.domain.request import PayoutRequestBuilder | ||
|
||
builder = PayoutRequestBuilder() | ||
builder.set_amount({'value': 0.1, 'currency': Currency.RUB}) \ | ||
.set_description('Выплата по заказу №77') \ | ||
.set_payout_token('99091209012') \ | ||
.set_metadata({'order_id': '77'}) \ | ||
.set_deal({ | ||
'id': 'dl-285e5ee7-0022-5000-8000-01516a44b147' | ||
}) | ||
|
||
request = builder.build() | ||
# Можно что-то поменять, если нужно | ||
request.description = 'Выплата по заказу №77' | ||
res = Payout.create(request) | ||
|
||
var_dump.var_dump(res) | ||
``` | ||
--- | ||
|
||
### Получить информацию о выплате | ||
|
||
[Информация о выплате в документации](https://yookassa.ru/developers/api?lang=python#get_payout) | ||
|
||
Запрос позволяет получить информацию о текущем состоянии выплаты по его уникальному идентификатору. | ||
|
||
В ответ на запрос придет объект выплаты в актуальном статусе. | ||
|
||
```python | ||
import var_dump as var_dump | ||
from yookassa import Payout | ||
|
||
res = Payout.find_one('po-21b23b5b-000f-5061-a000-0674e49a8c10') | ||
|
||
var_dump.var_dump(res) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,12 +2,14 @@ | |
"""Top-level package for YooKassa API Python Client Library.""" | ||
|
||
from yookassa.configuration import Configuration | ||
from yookassa.deal import Deal | ||
from yookassa.payment import Payment | ||
from yookassa.payout import Payout | ||
from yookassa.receipt import Receipt | ||
from yookassa.refund import Refund | ||
from yookassa.settings import Settings | ||
from yookassa.webhook import Webhook | ||
|
||
__author__ = "YooMoney" | ||
__email__ = '[email protected]' | ||
__version__ = '2.1.5' | ||
__version__ = '2.2.0' |
Oops, something went wrong.