Эквайринг (tbank.acquiring)¶
Интернет-эквайринг Т-Банка (EACQ): приём платежей, рекуррент, управление клиентами и картами, СБП QR, фискализация 54-ФЗ, привязка карт.
Хост:
https://securepay.tinkoff.ru/v2/Аутентификация: Token-подпись
Суммы: копейки (
int)Клиенты:
tbank.acquiring.AcquiringClient(async) иtbank.acquiring.sync.AcquiringClient(sync) — одинаковый набор методов.
Приём платежа¶
from tbank.acquiring import AcquiringClient
from tbank.acquiring.models import InitRequest
async with AcquiringClient(terminal_key="...", password="...") as client:
payment = await client.init(InitRequest(amount=150000, order_id="A-1"))
# payment.payment_url — редирект покупателя
await client.get_state(payment.payment_id)
await client.confirm(payment.payment_id) # для двухстадийного
await client.cancel(payment.payment_id) # отмена/возврат
Рекуррентные платежи¶
# 1) при первом платеже сохраняем карту:
await client.init(InitRequest(amount=150000, order_id="A-1", customer_key="c1", recurrent="Y"))
# → RebillId придёт в вебхуке на статус AUTHORIZED
# 2) последующие списания без покупателя:
await client.charge(new_payment_id, rebill_id)
Клиенты и карты¶
await client.add_customer("c1", email="client@example.com")
cards = await client.get_card_list("c1") # список сохранённых карт
await client.remove_card("c1", cards[0].card_id)
await client.remove_customer("c1")
СБП QR¶
from tbank.acquiring.enums import QrDataType
payment = await client.init(InitRequest(amount=150000, order_id="A-1"))
qr = await client.get_qr(payment.payment_id, data_type=QrDataType.PAYLOAD)
print(qr.data) # ссылка qr.nspk.ru
banks = await client.get_qr_members(payment.payment_id)
СБП-рекуррент (автоплатежи по привязанному счёту):
add = await client.add_account_qr("Привязка счёта") # QR + request_key
state = await client.get_add_account_qr_state(add.request_key) # ждём ACTIVE
await client.charge_qr(new_payment_id, state.account_token)
Фискализация (54-ФЗ)¶
from tbank.acquiring.models import Receipt, ReceiptItem
from tbank.acquiring.enums import Tax, Taxation, PaymentObject
receipt = Receipt(
taxation=Taxation.USN_INCOME, email="client@example.com",
items=[ReceiptItem(name="Товар", price=100000, quantity=1, amount=100000,
tax=Tax.VAT_22, payment_object=PaymentObject.COMMODITY)],
)
await client.init(InitRequest(amount=100000, order_id="A-1", receipt=receipt))
# двухстадийный сценарий — чек при подтверждении:
await client.send_closing_receipt(payment_id, receipt)
Привязка карты (без оплаты)¶
from tbank.acquiring.enums import CheckType
add = await client.add_card("c1", check_type=CheckType.THREE_DS)
# add.payment_url — форма ввода карты
state = await client.get_add_card_state(add.request_key) # COMPLETED → card_id/rebill_id
Альтернативная оплата и служебные методы¶
# T-Pay / SberPay / MirPay по созданному через init платежу:
status = await client.get_tinkoff_pay_status() # доступность + версия
link = await client.get_tinkoff_pay_link(payment_id, status.params.version)
svg = await client.get_tinkoff_pay_qr(payment_id) # QR (SVG) для десктопа
await client.get_sber_pay_link(payment_id)
await client.get_mir_pay_deeplink(payment_id)
# служебное:
await client.check_order(order_id) # статусы всех платежей заказа
await client.resend() # переотправить вебхуки
Клиент¶
- class tbank.acquiring.aio.AcquiringClient(terminal_key, password, *, base_url='https://securepay.tinkoff.ru/v2', retry=None, transport=None)[исходный код]¶
Базовые классы:
BaseAsyncClientАсинхронный клиент интернет-эквайринга Т-Банка (redirect-поток).
- Параметры:
terminal_key (str)
password (str)
base_url (str)
retry (Optional[RetryPolicy])
transport (Optional[AsyncTransport])
- async charge(payment_id, rebill_id, *, ip=None, send_email=None, info_email=None, receipt=None)[исходный код]¶
Рекуррентный платёж по сохранённой карте (RebillId), без участия покупателя.
- async add_customer(customer_key, *, email=None, phone=None, ip=None)[исходный код]¶
Зарегистрировать покупателя (для сохранения карт).
- async get_customer(customer_key, *, ip=None)[исходный код]¶
Данные покупателя.
- async remove_customer(customer_key, *, ip=None)[исходный код]¶
Удалить покупателя.
- async get_card_list(customer_key, *, saved_card=None, ip=None)[исходный код]¶
Список сохранённых карт покупателя (ответ — массив, включая удалённые).
- async remove_card(customer_key, card_id, *, ip=None)[исходный код]¶
Удалить карту покупателя.
- Параметры:
- Тип результата:
- async get_qr(payment_id, *, data_type=None, bank_id=None)[исходный код]¶
Сгенерировать СБП QR/ссылку по платежу (после init).
- Параметры:
payment_id (str)
data_type (QrDataType | None)
bank_id (str | None)
- Тип результата:
- async get_qr_members(payment_id)[исходный код]¶
Список банков-участников СБП для платежа.
- Параметры:
payment_id (str)
- Тип результата:
- async add_account_qr(description, *, data_type=None, bank_id=None, redirect_due_date=None)[исходный код]¶
Привязать счёт покупателя для СБП-автоплатежей (вернёт QR + RequestKey).
- Параметры:
description (str)
data_type (QrDataType | None)
bank_id (str | None)
redirect_due_date (str | None)
- Тип результата:
- async get_add_account_qr_state(request_key)[исходный код]¶
Статус привязки счёта (AccountToken появляется при ACTIVE).
- Параметры:
request_key (str)
- Тип результата:
- async charge_qr(payment_id, account_token, *, ip=None, send_email=None, info_email=None, bank_member_id=None, receipt=None)[исходный код]¶
СБП-автоплатёж по привязанному счёту (AccountToken).
- async send_closing_receipt(payment_id, receipt)[исходный код]¶
Отправить чек при подтверждении двухстадийного платежа.
- Параметры:
- Тип результата:
- async add_card(customer_key, *, check_type=None, ip=None, resident_state=None)[исходный код]¶
Инициировать привязку карты покупателя (redirect на PaymentURL, без оплаты).
- Параметры:
- Тип результата:
- async get_add_card_state(request_key)[исходный код]¶
Статус привязки карты (COMPLETED → card_id/rebill_id).
- Параметры:
request_key (str)
- Тип результата:
- async get_qr_state(payment_id)[исходный код]¶
Статус возврата платежа по СБП.
- async get_tinkoff_pay_status()[исходный код]¶
Доступность T-Pay и версия терминала (для выбора link/QR).
- Тип результата:
- async get_tinkoff_pay_link(payment_id, version)[исходный код]¶
Ссылка T-Pay для редиректа в приложение банка (мобильный).
- Параметры:
- Тип результата:
- async get_tinkoff_pay_qr(payment_id)[исходный код]¶
T-Pay QR (SVG-изображение) для десктопа.
- async get_sber_pay_link(payment_id)[исходный код]¶
Ссылка SberPay для редиректа (мобильный). Путь без версии — досверить.
- Параметры:
payment_id (str)
- Тип результата:
- async get_sber_pay_qr(payment_id)[исходный код]¶
SberPay QR (SVG) для десктопа.
- async get_mir_pay_deeplink(payment_id)[исходный код]¶
MirPay deeplink в приложение Mir Pay.
- Параметры:
payment_id (str)
- Тип результата:
- async check_order(order_id)[исходный код]¶
Статусы всех платежей по OrderId.
- Параметры:
order_id (str)
- Тип результата:
- async resend()[исходный код]¶
Переотправить недоставленные нотификации.
- Тип результата:
Модели¶
- class tbank.acquiring.models.Payments(*, Electronic, Cash=None, AdvancePayment=None, Credit=None, Provision=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ReceiptItem(*, Name, Price, Quantity, Amount, Tax, PaymentMethod=None, PaymentObject=None, Ean13=None, ShopCode=None, MeasurementUnit=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
Name (str)
Price (int)
Quantity (float)
Amount (int)
Tax (Tax)
PaymentMethod (PaymentMethod | None)
PaymentObject (PaymentObject | None)
Ean13 (str | None)
ShopCode (str | None)
MeasurementUnit (str | None)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.Receipt(*, Taxation, Items, Email=None, Phone=None, FfdVersion=None, Payments=None, Customer=None, CustomerInn=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
Taxation (Taxation)
Items (List[ReceiptItem])
Email (str | None)
Phone (str | None)
FfdVersion (FfdVersion | None)
Payments (Payments | None)
Customer (str | None)
CustomerInn (str | None)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.InitRequest(*, Amount, OrderId, Description=None, CustomerKey=None, SuccessURL=None, FailURL=None, NotificationURL=None, RedirectDueDate=None, PayType=None, Recurrent=None, Receipt=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.PaymentResponse(*, Success, ErrorCode, TerminalKey=None, Status=None, PaymentId=None, OrderId=None, Amount=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.InitResponse(*, Success, ErrorCode, TerminalKey=None, Status=None, PaymentId=None, OrderId=None, Amount=None, Message=None, Details=None, PaymentURL=None)[исходный код]¶
Базовые классы:
PaymentResponse- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetStateRequest(*, PaymentId)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
PaymentId (str)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetStateResponse(*, Success, ErrorCode, TerminalKey=None, Status=None, PaymentId=None, OrderId=None, Amount=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
PaymentResponse- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ConfirmRequest(*, PaymentId, Amount=None)[исходный код]¶
Базовые классы:
TBankModel- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ConfirmResponse(*, Success, ErrorCode, TerminalKey=None, Status=None, PaymentId=None, OrderId=None, Amount=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
PaymentResponse- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.CancelRequest(*, PaymentId, Amount=None)[исходный код]¶
Базовые классы:
TBankModel- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.CancelResponse(*, Success, ErrorCode, TerminalKey=None, Status=None, PaymentId=None, OrderId=None, Amount=None, Message=None, Details=None, OriginalAmount=None, NewAmount=None)[исходный код]¶
Базовые классы:
PaymentResponse- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ChargeRequest(*, PaymentId, RebillId, IP=None, SendEmail=None, InfoEmail=None, Receipt=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ChargeResponse(*, Success, ErrorCode, TerminalKey=None, Status=None, PaymentId=None, OrderId=None, Amount=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
PaymentResponse- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AddCustomerRequest(*, CustomerKey, Email=None, Phone=None, IP=None)[исходный код]¶
Базовые классы:
TBankModel- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.CustomerRequest(*, CustomerKey, IP=None)[исходный код]¶
Базовые классы:
TBankModelЗапрос GetCustomer / RemoveCustomer.
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.Customer(*, Success, ErrorCode, TerminalKey=None, CustomerKey=None, Email=None, Phone=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetCardListRequest(*, CustomerKey, SavedCard=None, IP=None)[исходный код]¶
Базовые классы:
TBankModel- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.Card(*, CardId, Pan, Status, CardType, RebillId=None, ExpDate=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.RemoveCardRequest(*, CustomerKey, CardId, IP=None)[исходный код]¶
Базовые классы:
TBankModel- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.RemoveCardResponse(*, Success, ErrorCode, TerminalKey=None, CustomerKey=None, CardId=None, Status=None, CardType=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetQrRequest(*, PaymentId, DataType=None, BankId=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
PaymentId (str)
DataType (QrDataType | None)
BankId (str | None)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetQrResponse(*, Success, ErrorCode, TerminalKey=None, OrderId=None, Data=None, PaymentId=None, RequestKey=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.QrMembersListRequest(*, PaymentId)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
PaymentId (str)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.QrMember(*, MemberId=None, MemberName=None, IsPayee=None)[исходный код]¶
Базовые классы:
TBankModel- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.QrMembersListResponse(*, Success, ErrorCode, TerminalKey=None, OrderId=None, Members=<factory>, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AddAccountQrRequest(*, Description, DataType=None, BankId=None, RedirectDueDate=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
Description (str)
DataType (QrDataType | None)
BankId (str | None)
RedirectDueDate (str | None)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AddAccountQrResponse(*, Success, ErrorCode, TerminalKey=None, Data=None, RequestKey=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetAddAccountQrStateRequest(*, RequestKey)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
RequestKey (str)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AddAccountQrState(*, Success, ErrorCode, TerminalKey=None, RequestKey=None, AccountToken=None, BankMemberId=None, BankMemberName=None, Status=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ChargeQrRequest(*, PaymentId, AccountToken, IP=None, SendEmail=None, InfoEmail=None, BankMemberId=None, Receipt=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ChargeQrResponse(*, Success, ErrorCode, TerminalKey=None, Status=None, PaymentId=None, OrderId=None, Amount=None, Message=None, Details=None, Currency=None)[исходный код]¶
Базовые классы:
PaymentResponse- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.SendClosingReceiptRequest(*, PaymentId, Receipt)[исходный код]¶
Базовые классы:
TBankModel- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.SendClosingReceiptResponse(*, Success, ErrorCode, TerminalKey=None, PaymentId=None, Status=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AddCardRequest(*, CustomerKey, CheckType=None, IP=None, ResidentState=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AddCardResponse(*, Success, ErrorCode, TerminalKey=None, CustomerKey=None, RequestKey=None, PaymentURL=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetAddCardStateRequest(*, RequestKey)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
RequestKey (str)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AddCardState(*, Success, ErrorCode, TerminalKey=None, CustomerKey=None, RequestKey=None, Status=None, CardId=None, RebillId=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.GetQrStateRequest(*, PaymentId)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
PaymentId (str)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.QrState(*, Success, ErrorCode, Status=None, QrCancelCode=None, QrCancelMessage=None, OrderId=None, Amount=None, Message=None)[исходный код]¶
Базовые классы:
TBankModelСтатус возврата платежа по СБП.
- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AltPayParams(*, Allowed=None, Version=None, RedirectUrl=None, WebQR=None, Deeplink=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.AltPayResponse(*, Success, ErrorCode, Params=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
Success (bool)
ErrorCode (str)
Params (AltPayParams | None)
Message (str | None)
Details (str | None)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.MirPayRequest(*, PaymentId)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
PaymentId (str)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.CheckOrderRequest(*, OrderId)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
OrderId (str)
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.CheckOrderPayment(*, PaymentId=None, Amount=None, Status=None, Rrn=None, Success=None, ErrorCode=None, Message=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.CheckOrderResponse(*, Success, ErrorCode, TerminalKey=None, OrderId=None, Payments=<factory>, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ResendRequest[исходный код]¶
Базовые классы:
TBankModelПереотправка недоставленных нотификаций (тело без параметров).
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tbank.acquiring.models.ResendResponse(*, Success, ErrorCode, Count=None, Message=None, Details=None)[исходный код]¶
Базовые классы:
TBankModel- Параметры:
- model_config = {'alias_generator': <function to_pascal>, 'extra': 'ignore', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Перечисления¶
- class tbank.acquiring.enums.PaymentStatus(*values)[исходный код]¶
-
- NEW = 'NEW'¶
- FORM_SHOWED = 'FORM_SHOWED'¶
- AUTHORIZING = 'AUTHORIZING'¶
- AUTHORIZED = 'AUTHORIZED'¶
- CONFIRMING = 'CONFIRMING'¶
- CONFIRMED = 'CONFIRMED'¶
- REVERSING = 'REVERSING'¶
- REVERSED = 'REVERSED'¶
- REFUNDING = 'REFUNDING'¶
- REFUNDED = 'REFUNDED'¶
- PARTIAL_REFUNDED = 'PARTIAL_REFUNDED'¶
- REJECTED = 'REJECTED'¶
- DEADLINE_EXPIRED = 'DEADLINE_EXPIRED'¶
- CANCELED = 'CANCELED'¶
- class tbank.acquiring.enums.CardStatus(*values)[исходный код]¶
-
- ACTIVE = 'A'¶
- DELETED = 'D'¶
- INACTIVE = 'I'¶
- class tbank.acquiring.enums.CardType(*values)[исходный код]¶
-
- DEBIT = 0¶
- CREDIT = 1¶
- DEBIT_CREDIT = 2¶
- class tbank.acquiring.enums.QrDataType(*values)[исходный код]¶
-
- PAYLOAD = 'PAYLOAD'¶
- IMAGE = 'IMAGE'¶
- class tbank.acquiring.enums.AccountQrStatus(*values)[исходный код]¶
-
- NEW = 'NEW'¶
- PROCESSING = 'PROCESSING'¶
- ACTIVE = 'ACTIVE'¶
- INACTIVE = 'INACTIVE'¶
- class tbank.acquiring.enums.FfdVersion(*values)[исходный код]¶
-
- FFD_105 = '1.05'¶
- FFD_12 = '1.2'¶
- class tbank.acquiring.enums.Taxation(*values)[исходный код]¶
-
- OSN = 'osn'¶
- USN_INCOME = 'usn_income'¶
- USN_INCOME_OUTCOME = 'usn_income_outcome'¶
- ENVD = 'envd'¶
- ESN = 'esn'¶
- PATENT = 'patent'¶
- class tbank.acquiring.enums.Tax(*values)[исходный код]¶
-
- NONE = 'none'¶
- VAT_0 = 'vat0'¶
- VAT_5 = 'vat5'¶
- VAT_7 = 'vat7'¶
- VAT_10 = 'vat10'¶
- VAT_20 = 'vat20'¶
- VAT_22 = 'vat22'¶
- VAT_105 = 'vat105'¶
- VAT_107 = 'vat107'¶
- VAT_110 = 'vat110'¶
- VAT_120 = 'vat120'¶
- VAT_122 = 'vat122'¶
- class tbank.acquiring.enums.PaymentMethod(*values)[исходный код]¶
-
- FULL_PREPAYMENT = 'full_prepayment'¶
- PREPAYMENT = 'prepayment'¶
- ADVANCE = 'advance'¶
- FULL_PAYMENT = 'full_payment'¶
- PARTIAL_PAYMENT = 'partial_payment'¶
- CREDIT = 'credit'¶
- CREDIT_PAYMENT = 'credit_payment'¶
- class tbank.acquiring.enums.PaymentObject(*values)[исходный код]¶
-
- COMMODITY = 'commodity'¶
- EXCISE = 'excise'¶
- JOB = 'job'¶
- SERVICE = 'service'¶
- GAMBLING_BET = 'gambling_bet'¶
- GAMBLING_PRIZE = 'gambling_prize'¶
- LOTTERY = 'lottery'¶
- LOTTERY_PRIZE = 'lottery_prize'¶
- INTELLECTUAL_ACTIVITY = 'intellectual_activity'¶
- PAYMENT = 'payment'¶
- AGENT_COMMISSION = 'agent_commission'¶
- COMPOSITE = 'composite'¶
- ANOTHER = 'another'¶
- class tbank.acquiring.enums.CheckType(*values)[исходный код]¶
-
- NO = 'NO'¶
- HOLD = 'HOLD'¶
- THREE_DS = '3DS'¶
- THREE_DS_HOLD = '3DSHOLD'¶