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