Skip to main content

Simple Tinkoff Bank API client

Project description

class ConfirmationInfo: pass# Neolegoff - Tinkoff Banking API client

Предисловие

Использовать на свой страх и риск. В коде нет никаких бэкдоров для вытягивания ваших данных, можете посмотреть сами. Но есть нюансик: если что-то пойдёт не так, то я не виноват, вы сами дураки.

Прогресс разработки

  • Регистрация
  • Вход в аккаунт
    • Номер телефона
    • Пароль
    • Подтверждение по номеру карты
    • Лже-биометрия для быстрого входа без пароля
  • Автоматическое управление токенами и генерация конфига устройства
  • Продукты
    • Счета
      • Типы счетов
        • Текущие расчётные в валютах (тестировано на Black)
        • Кредитных карт
        • Тинькофф Мобайл
        • Кредит наличными
        • Внешние карты сторонних банков
        • Про другие счета можно написать в t.me/apfel
      • Реквизиты счёта
      • Выписки по счёту
      • Карты
        • Перепривязка карты к другому счёту (валютному)
        • Реквизиты карты
        • Заморозить карту
        • Заблокировать карту
        • Лимиты по карте
        • Установка пин кода
        • Блокировка снятия наличных, операций в интернете
        • Уведомления об операциях по карте
  • Открытие новых продуктов
    • Карты
    • Счета
    • Кредит
  • Самозанятость
    • Присоединение
    • Декларирование
    • Что-то ещё?
  • Платежи
    • Свободная форма платежа
    • СБП
      • Перевод по номеру телефона
      • Перевод по QR коду СБП и ПлатиQR
      • Стягивание с другого банка
      • Разрешение на перевод в другой банк
    • Переводы
      • По номеру карты
      • По номеру телефона (не сбп?)
      • Между счетами
      • По реквизитам
      • По номеру договора в тинькофф
      • SWIFT
    • Оплата услуг
      • Пополнение баланса мобильного
        • Получение оператора по номеру телефона
      • Прочая срань по API
    • QR код на снятие налика
    • Запрос денег по номеру телефона (через ссылку?)
  • Чат
    • Поддержка
      • Получение сообщений
      • Отправка сообщений
      • Отправка файлов
    • Диалоги с другими клиентами тиньки
  • Ищо
    • Курсы валют
    • Основной банк СБП
    • Секретные вопросы
    • Синхронизация контактов

Как установить

Из PyPI:

python -m pip install neolegoff_bank

Из исходников:

git clone https://github.com/whiteapfel/neolegoff-bank.git
cd neolegoff-bank
python setup.py install

Как использовать

Пайплайн авторизации и получение информации о счетах и картах:

import asyncio

from neolegoff_bank import AioNeolegoff


async def login(client):
    phone = "79998887766"
    password = "vs2p33ox!6x_vma_!y9xjw6gz"
    card = "5321304044087960"

    async def get_sms_code():
        return input("SMS code >>> ")

    login_pipeline = client.auth.login_pipeline(phone, password, card)
    async for _ in login_pipeline:
        # Можно использовать любой вариант получения кода:
        # ввести из консоли, дождаться создания файла или бота в телеграме.
        # Как угодно. Потребуется только в первый раз, потом будет
        # автоматически пропускаться, так как login_pipeline будет пустым
        await login_pipeline.asend(await get_sms_code())


async def main():
    # `app_name` используется для сохранения информации о токенах,
    # сессии и сгенерированном конфиге устройства.
    # Часть после двоеточия является паролем для шифрования,
    # но это не обязательно, можно абсолютно любую строку
    client = AioNeolegoff(app_name="main:whiteapfel")
    await login(client)

    products = await client.products.get_products()
    print(products)


asyncio.run(main())

Далее в примерах будет опущен login, предполагая, что авторизация пройдена

Пополнение баланса мобильника

import asyncio

from decimal import Decimal

from neolegoff_bank import AioNeolegoff
from neolegoff_bank.models.payments.pay_request import PaymentParametersMobileProvider
from neolegoff_bank.models.payments.response import ConfirmationInfo

async def main():
    client = AioNeolegoff(app_name="main:whiteapfel")
    payment = PaymentParametersMobileProvider(
        provider='mts',
        account="5160007810",
        amount=Decimal("42.72"),
        phone="9867657635",
    )
    commission = await client.payments.payment_commission(payment)
    payment_result = await client.payments.pay(payment)
    if isinstance(payment_result, ConfirmationInfo):
        payment_result = await client.payments.confirm(input("SMS code >>> "), payment_result)
    print(payment_result)

asyncio.run(main())

Пайплайн перевода по СБП физику


Пайплайн оплаты по СБП юрику/ип через куар или ссылку


Пайплайн перевода по номеру карты



          

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neolegoff_bank-0.0.1a3.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

neolegoff_bank-0.0.1a3-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file neolegoff_bank-0.0.1a3.tar.gz.

File metadata

  • Download URL: neolegoff_bank-0.0.1a3.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for neolegoff_bank-0.0.1a3.tar.gz
Algorithm Hash digest
SHA256 003488b919c7516b05d0b9c59e3300526d841e67a25dba357d7da11e6b3698ef
MD5 ba3976c88d7c5d2bff9abc1d9647a0ac
BLAKE2b-256 55d3bf9e4eaea94bedd3514b13b7e9935a687b49915bfeca2f417fc69c126e00

See more details on using hashes here.

File details

Details for the file neolegoff_bank-0.0.1a3-py3-none-any.whl.

File metadata

File hashes

Hashes for neolegoff_bank-0.0.1a3-py3-none-any.whl
Algorithm Hash digest
SHA256 0b3e6a322d6994c1c77848f92204d9713e00916ec98248ce76a8e544724ae9bb
MD5 eb424f1377112e074d8358f721bbff8f
BLAKE2b-256 0848d15087ffdd7eafd37fe007cd9c16fca26902e54983185843ab4ea5a2aeba

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page