async_yookassa


Nameasync_yookassa JSON
Version 0.5.2 PyPI version JSON
download
home_pagehttps://github.com/proDreams/async_yookassa
SummaryUnofficial API client for YooKassa
upload_time2024-11-01 19:17:49
maintainerNone
docs_urlNone
authorprodream
requires_python<4.0,>=3.12
licenseMIT
keywords yoomoney yookassa payout sdk python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Async YooKassa (unofficial)

[![Latest Stable Version](https://img.shields.io/pypi/v/async_yookassa.svg)](https://pypi.org/project/async_yookassa/) [![Downloads](https://img.shields.io/pypi/dm/async_yookassa.svg)](https://pypi.org/project/async_yookassa/) [![Код на салфетке](https://img.shields.io/badge/Telegram-Код_на_салфетке-blue)](https://t.me/press_any_button) [![Заметки на салфетке](https://img.shields.io/badge/Telegram-Заметки_на_салфетке-blue)](https://t.me/writeanynotes) 


Неофициальный клиент для работы с платежами по [API ЮKassa](https://yookassa.ru/developers/api)

За основу взята [официальная библиотека от ЮМани](https://git.yoomoney.ru/projects/SDK/repos/yookassa-sdk-python/browse).  

## Цель
Заменить синхронный `requests` на асинхронный `httpx`, также переложить валидацию данных на `Pydantic`.

## Реализовано на данный момент

* Класс `Configuration`.
* Класс `APIClient`.
* Класс `Payment`.
* Класс `Invoice`.
* Класс `Refund`.
* Класс `Receipt`.
* Класс `Payout`.
* Класс `SelfEmployed`.
* Класс `SbpBanks`.
* Класс `PersonalData`.
* Класс `Deal`.
* Класс `Webhook`.
* Класс `Settings`.
* Сопутствующие `Pydantic-модели` и `Enum`.


## Требования

1. Python >=3.12
2. pip/poetry

## Установка
### C помощью pip

1. Установите pip.
2. В консоли выполните команду
```bash
pip install --upgrade async_yookassa
```
### C помощью poetry

1. Установите poetry.
2. В консоли выполните команду
```bash
poetry add async_yookassa
```

## Начало работы

1. Импортируйте модуль
```python
import async_yookassa
```
2. Установите данные для конфигурации
```python
from async_yookassa import Configuration

Configuration.configure(account_id='<Идентификатор магазина>', secret_key='<Секретный ключ>')
```

или

```python
from async_yookassa import Configuration

Configuration.account_id = '<Идентификатор магазина>'
Configuration.secret_key = '<Секретный ключ>'
```

или через oauth

```python
from async_yookassa import Configuration

Configuration.configure_auth_token(token='<Oauth Token>')
```

Если вы согласны участвовать в развитии SDK, вы можете передать данные о вашем фреймворке, cms или модуле:

```python
from async_yookassa import Configuration
from async_yookassa.models.configuration_submodels.version import Version

Configuration.configure('<Идентификатор магазина>', '<Секретный ключ>')
Configuration.configure_user_agent(
    framework=Version(name='Django', version='2.2.3'),
    cms=Version(name='Wagtail', version='2.6.2'),
    module=Version(name='Y.CMS', version='0.0.1')
)
```

3. Вызовите нужный метод API. [Подробнее в документации к API ЮKassa](https://yookassa.ru/developers/api)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/proDreams/async_yookassa",
    "name": "async_yookassa",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": "yoomoney, yookassa, payout, sdk, python",
    "author": "prodream",
    "author_email": "sushkoos@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/8c/8e/745a21962569972d7676c52ebe52649036af8bcdbf7f96894d28cc6c6935/async_yookassa-0.5.2.tar.gz",
    "platform": null,
    "description": "# Async YooKassa (unofficial)\n\n[![Latest Stable Version](https://img.shields.io/pypi/v/async_yookassa.svg)](https://pypi.org/project/async_yookassa/) [![Downloads](https://img.shields.io/pypi/dm/async_yookassa.svg)](https://pypi.org/project/async_yookassa/) [![\u041a\u043e\u0434 \u043d\u0430 \u0441\u0430\u043b\u0444\u0435\u0442\u043a\u0435](https://img.shields.io/badge/Telegram-\u041a\u043e\u0434_\u043d\u0430_\u0441\u0430\u043b\u0444\u0435\u0442\u043a\u0435-blue)](https://t.me/press_any_button) [![\u0417\u0430\u043c\u0435\u0442\u043a\u0438 \u043d\u0430 \u0441\u0430\u043b\u0444\u0435\u0442\u043a\u0435](https://img.shields.io/badge/Telegram-\u0417\u0430\u043c\u0435\u0442\u043a\u0438_\u043d\u0430_\u0441\u0430\u043b\u0444\u0435\u0442\u043a\u0435-blue)](https://t.me/writeanynotes) \n\n\n\u041d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043b\u0430\u0442\u0435\u0436\u0430\u043c\u0438 \u043f\u043e [API \u042eKassa](https://yookassa.ru/developers/api)\n\n\u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0432\u0437\u044f\u0442\u0430 [\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043e\u0442 \u042e\u041c\u0430\u043d\u0438](https://git.yoomoney.ru/projects/SDK/repos/yookassa-sdk-python/browse).  \n\n## \u0426\u0435\u043b\u044c\n\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 `requests` \u043d\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 `httpx`, \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u043b\u043e\u0436\u0438\u0442\u044c \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 `Pydantic`.\n\n## \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442\n\n* \u041a\u043b\u0430\u0441\u0441 `Configuration`.\n* \u041a\u043b\u0430\u0441\u0441 `APIClient`.\n* \u041a\u043b\u0430\u0441\u0441 `Payment`.\n* \u041a\u043b\u0430\u0441\u0441 `Invoice`.\n* \u041a\u043b\u0430\u0441\u0441 `Refund`.\n* \u041a\u043b\u0430\u0441\u0441 `Receipt`.\n* \u041a\u043b\u0430\u0441\u0441 `Payout`.\n* \u041a\u043b\u0430\u0441\u0441 `SelfEmployed`.\n* \u041a\u043b\u0430\u0441\u0441 `SbpBanks`.\n* \u041a\u043b\u0430\u0441\u0441 `PersonalData`.\n* \u041a\u043b\u0430\u0441\u0441 `Deal`.\n* \u041a\u043b\u0430\u0441\u0441 `Webhook`.\n* \u041a\u043b\u0430\u0441\u0441 `Settings`.\n* \u0421\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 `Pydantic-\u043c\u043e\u0434\u0435\u043b\u0438` \u0438 `Enum`.\n\n\n## \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\n\n1. Python >=3.12\n2. pip/poetry\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n### C \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip\n\n1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 pip.\n2. \u0412 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\n```bash\npip install --upgrade async_yookassa\n```\n### C \u043f\u043e\u043c\u043e\u0449\u044c\u044e poetry\n\n1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 poetry.\n2. \u0412 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\n```bash\npoetry add async_yookassa\n```\n\n## \u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b\n\n1. \u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043c\u043e\u0434\u0443\u043b\u044c\n```python\nimport async_yookassa\n```\n2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438\n```python\nfrom async_yookassa import Configuration\n\nConfiguration.configure(account_id='<\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430>', secret_key='<\u0421\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447>')\n```\n\n\u0438\u043b\u0438\n\n```python\nfrom async_yookassa import Configuration\n\nConfiguration.account_id = '<\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430>'\nConfiguration.secret_key = '<\u0421\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447>'\n```\n\n\u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 oauth\n\n```python\nfrom async_yookassa import Configuration\n\nConfiguration.configure_auth_token(token='<Oauth Token>')\n```\n\n\u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u044b \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 SDK, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0432\u0430\u0448\u0435\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0435, cms \u0438\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u0435:\n\n```python\nfrom async_yookassa import Configuration\nfrom async_yookassa.models.configuration_submodels.version import Version\n\nConfiguration.configure('<\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430>', '<\u0421\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447>')\nConfiguration.configure_user_agent(\n    framework=Version(name='Django', version='2.2.3'),\n    cms=Version(name='Wagtail', version='2.6.2'),\n    module=Version(name='Y.CMS', version='0.0.1')\n)\n```\n\n3. \u0412\u044b\u0437\u043e\u0432\u0438\u0442\u0435 \u043d\u0443\u0436\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 API. [\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a API \u042eKassa](https://yookassa.ru/developers/api)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Unofficial API client for YooKassa",
    "version": "0.5.2",
    "project_urls": {
        "Homepage": "https://github.com/proDreams/async_yookassa",
        "Repository": "https://github.com/proDreams/async_yookassa"
    },
    "split_keywords": [
        "yoomoney",
        " yookassa",
        " payout",
        " sdk",
        " python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a5a92779f76cd2e321b5db5ddcb242078d4e9fee2047c86e667f5e78e66827b0",
                "md5": "2f9af0d70123161ec53c911ff4563b0a",
                "sha256": "e44f4790e54bf5117428ec2a6e38d0b85e04a675751b721af46f5059390459fd"
            },
            "downloads": -1,
            "filename": "async_yookassa-0.5.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2f9af0d70123161ec53c911ff4563b0a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 66007,
            "upload_time": "2024-11-01T19:17:48",
            "upload_time_iso_8601": "2024-11-01T19:17:48.051579Z",
            "url": "https://files.pythonhosted.org/packages/a5/a9/2779f76cd2e321b5db5ddcb242078d4e9fee2047c86e667f5e78e66827b0/async_yookassa-0.5.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c8e745a21962569972d7676c52ebe52649036af8bcdbf7f96894d28cc6c6935",
                "md5": "eda2b15d37cf6f4b164fc1d7543b158c",
                "sha256": "48a336c5bdbe0fb931e599897321ab77a64b2dbc3e0907583ba5e518b506fee8"
            },
            "downloads": -1,
            "filename": "async_yookassa-0.5.2.tar.gz",
            "has_sig": false,
            "md5_digest": "eda2b15d37cf6f4b164fc1d7543b158c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 27812,
            "upload_time": "2024-11-01T19:17:49",
            "upload_time_iso_8601": "2024-11-01T19:17:49.959791Z",
            "url": "https://files.pythonhosted.org/packages/8c/8e/745a21962569972d7676c52ebe52649036af8bcdbf7f96894d28cc6c6935/async_yookassa-0.5.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-01 19:17:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "proDreams",
    "github_project": "async_yookassa",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "async_yookassa"
}
        
Elapsed time: 2.55802s