Торговый эквайринг (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).
- Параметры:
token (str)
base_url (Optional[str])
sandbox (bool)
retry (Optional[RetryPolicy])
transport (Optional[AsyncTransport])
- async list_terminals(*, page=0, size=50)[исходный код]¶
Список терминалов торгового эквайринга (постранично).
- Параметры:
- Тип результата:
- async list_operations(terminal_key, from_date, till, *, limit)[исходный код]¶
Операции по терминалу за период (даты — YYYY-MM-DD).
- Параметры:
- Тип результата:
Модели¶
- 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Операция по терминалу (суммы — в копейках).
- Параметры:
rrn (str)
transactionDate (datetime)
amount (int)
cardNumber (str)
type (OperationType)
- 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].