Торговый эквайринг (tbank.merchant_acquiring)

Отчётность по торговому (POS) эквайрингу: список подключённых терминалов и операции по ним. Это отдельный API от интернет-эквайринга (tbank.acquiring).

  • Хост: business.tbank.ru/openapi по Bearer-токену.

  • Суммы: в копейках (int). Провод: camelCase.

  • Клиенты: tbank.merchant_acquiring.MerchantAcquiringClient (async) и tbank.merchant_acquiring.sync.MerchantAcquiringClient (sync).

from tbank.merchant_acquiring import MerchantAcquiringClient

client = MerchantAcquiringClient(token="business-token")

# терминалы (постранично)
page = await client.list_terminals(page=0, size=50)
for terminal in page.terminals or []:
    print(terminal.key)

# операции по терминалу за период
ops = await client.list_operations(
    terminal_key="TERM1", from_date="2026-01-01", till="2026-01-31", limit=100,
)
for op in ops.operations or []:
    print(op.transaction_date, op.amount, op.type)   # amount — в копейках

Клиент

class tbank.merchant_acquiring.aio.MerchantAcquiringClient(token, *, base_url=None, sandbox=False, retry=None, transport=None)[исходный код]

Базовые классы: BaseAsyncClient

Асинхронный клиент торгового эквайринга: список терминалов и операции по ним.

Работает на обычном хосте по Bearer-токену. Суммы — в копейках (int).

Параметры:
async list_terminals(*, page=0, size=50)[исходный код]

Список терминалов торгового эквайринга (постранично).

Параметры:
Тип результата:

TerminalsPage

async list_operations(terminal_key, from_date, till, *, limit)[исходный код]

Операции по терминалу за период (даты — YYYY-MM-DD).

Параметры:
Тип результата:

OperationList

Модели

class tbank.merchant_acquiring.models.MerchantAcquiringModel[исходный код]

Базовые классы: BaseModel

Базовая модель домена: snake_case в Python, camelCase на проводе.

model_config = {'alias_generator': <function to_camel>, '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.merchant_acquiring.models.Terminal(*, id, key)[исходный код]

Базовые классы: MerchantAcquiringModel

Параметры:
model_config = {'alias_generator': <function to_camel>, '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.merchant_acquiring.models.TerminalsPage(*, totalPages, totalElements, first, last, terminals=None)[исходный код]

Базовые классы: MerchantAcquiringModel

Страница терминалов торгового эквайринга.

Параметры:
model_config = {'alias_generator': <function to_camel>, '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.merchant_acquiring.models.Operation(*, rrn, transactionDate, amount, cardNumber, type)[исходный код]

Базовые классы: MerchantAcquiringModel

Операция по терминалу (суммы — в копейках).

Параметры:
model_config = {'alias_generator': <function to_camel>, '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.merchant_acquiring.models.OperationList(*, lastTransactionDate=None, operations=None)[исходный код]

Базовые классы: MerchantAcquiringModel

Операции по терминалу за период.

Параметры:
model_config = {'alias_generator': <function to_camel>, '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.merchant_acquiring.enums.OperationType(*values)[исходный код]

Базовые классы: str, Enum

Тип операции по терминалу торгового эквайринга.

DEBIT = 'Debit'
CREDIT = 'Credit'
OTHER = 'Other'