Подключение
С помощью методов TACP API вы можете проводить операции торгового эквайринга:
- оплата — авторизация платежа с холдированием средств;
- подтверждение — клиринг и биллинг авторизованного ранее платежа;
- отмена оплаты — до и после подтверждения;
- проверка статуса операции.
Протокол взаимодействия с эквайринговым шлюзом Т-Банка реализован в виде SOAP веб-сервисов поверх HTTP/HTTPS 1.1 и включает набор методов для осуществления различных операций по банковским картам.
Методы реализованы на базе спецификации SMARTVISTA FRONT END ISO8583 POS Trickle Feed EMV compliant
.
Доступные операции
Pay
— авторизация;Cancel
— отмена авторизации/подтвержденной авторизации;Confirm
— подтверждение авторизации;Status
— просмотр статуса операции.
WSDL
WSDL — язык описания веб-сервисов и доступа к ним, основанный на языке XML.
Аутентификация
Аутентификация происходит по стандарту WS-Security SOAP-протокола с элементом UsernameToken
, в котором передаются Username
и PasswordText
— эти данные формируются при регистрации агрегатора в Т-Банке.
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="sample">
<wsse:Username>{{Login}}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{{Password}}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
Каждый метод должен содержать секцию <wsse:Security>
в <soapenv:Header>
. Если <wsse:Security>
нет, в ответе вернется ошибка:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">ns1:InvalidSecurity</faultcode>
<faultstring>An error was discovered processing the <wsse:Security> header</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Запросы
Запрос для каждого типа операций имеет следующий вид, где OperationRequest
— любой из поддерживаемых запросов:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header> ... </soap:Header>
<soap:Body>
<ns3:OperationRequest xmlns:ns2="http://tcsbank.ru/onlineapi/ws/1_0/components" xmlns:ns3="http://tcsbank.ru/onlineapi/ws/1_0/base">
<header> ... </header>
<body> ...
<extension> ... </extension>
</body>
</ns3:OperationRequest>
</soap:Body>
</soap:Envelope>
Каждый запрос состоит из двух основных частей — header
и body
.
Header
имеет общую структуру, body
специфичен для всех видов поддерживаемых сообщений.
Также в body
есть объект extension
, который используется для расширения сообщения дополнительными данными.
Предполагается, что в тэге содержится структура «ключ-значение».
Header
Заголовок сообщения. Заголовок есть в любом сообщении сервиса и хранит общую информацию для запроса или ответа.
Параметр | Тип | Описание | |
---|---|---|---|
version | String | Y | Версия протокола. Допустимое значение — 1 . |
systemID | Long | Y | Идентификатор системы-инициатора запроса. |
merchantID | Long | Y | Идентификатор торговой группы. |
submerchantID | Long | N | Идентификатор торговой точки. |
extRequestID | String | Y | Внешний идентификатор запроса. Должен быть уникальным в рамках системы — systemID . |
Идентификаторы version
, systemID
, merchantID
и submerchantID
выдаются Т-Банком.
Валюта
Валюта операций указывается в виде числового кода по ISO 4217
.
В текущей версии операции доступны только в рублях — код 643
.
Технический порядок взаимодействия между партнером и банком
Параметр | Описание | |
---|---|---|
connectionTimeout | 30000 | Указывает количество времени в миллисекундах, в течение которого потребитель будет пытаться установить соединение до истечения времени ожидания. |
receiveTimeout | 60000 | Указывает количество времени в миллисекундах, в течение которого потребитель будет ожидать ответа до истечения времени ожидания. |
connectionRequestTimeout | 60000 | Указывает количество времени в миллисекундах, которое используется при запросе соединения от менеджера соединений — если применимо. |