Download OpenAPI specification:
Массовые выплаты помогают бизнесу автоматизировать расчеты с физлицами, например, с клиентами или исполнителями. Сервис решает разные задачи: заплатить за услуги внештатным исполнителям, выдать вознаграждение за вещь или заем.
Выплаты на токенизированные карты и отмены выплат не предусмотрены.
| Термин | Определение |
|---|---|
| Клиент | Физлицо, которому бизнес выплачивает деньги на карту или счет |
| Мерчант | Бизнес, который выплачивает физлицам деньги за оказанную услугу или товар со своего расчетного счета юрлица |
| Т‑Бизнес | Сервис, помогающий проводить выплату клиенту-физлицу |
| Эмитент | Банк, выпустивший карту клиента-физлица |
| А2С | Массовые выплаты физлицам |
| PCI DSS | Международный стандарт безопасности, созданный для защиты данных банковских карт |
Текущие TLS-сертификаты банка могут быть отозваны — в таком случае банк переключится на сертификат Минцифры. Если не выполнить настройку заранее, в момент переключения сертификатов запросы к API будут возвращать ошибку проверки TLS-сертификата (certificate verify failed, unable to get local issuer certificate, PKIX path building failed), и интеграция перестанет работать.
CA/Browser Forum — международная организация, в которую входят крупнейшие центры сертификации и компании, разрабатывающие браузеры, например Google, Apple, Microsoft, Mozilla. CA/Browser Forum ужесточила правила проверки организаций — сертификаты GlobalSign, которые банк использует сейчас, пока действительны, но могут быть отозваны.
Когда это произойдет, банк перейдет на сертификаты Национального удостоверяющего центра Минцифры России (Russian Trusted CA). Рекомендуем выполнить настройку заранее, чтобы переключение прошло для вас незаметно.
Сертификаты Минцифры не входят в доверенные хранилища большинства операционных систем, языковых рантаймов и HTTP-библиотек по умолчанию. Поскольку ваш код обращается к API программно, а не через браузер, добавьте сертификаты в trust store серверного окружения, из которого выполняются запросы.
Вам нужно установить два сертификата:
Скачайте сертификаты с портала Госуслуг. На странице перейдите в раздел для вашей операционной системы и скачайте два файла:
russian_trusted_root_ca.cer — корневой сертификат;russian_trusted_sub_ca.cer — промежуточный сертификат.Проверьте формат файла сертификата. Файлы .cer бывают двух форматов:
-----BEGIN CERTIFICATE-----;Утилиты update-ca-certificates и keytool принимают только PEM.
DER-файл нужно сконвертировать в PEM:
# Проверить формат
openssl x509 -in cert.cer -noout -text >/dev/null 2>&1 && echo "PEM" || echo "DER (нужна конвертация)"
# Конвертировать DER в PEM
openssl x509 -inform DER -in cert.cer -out cert.pem
Установите сертификаты для вашего окружения. Если окружений несколько — например, JVM-приложение в Docker, выполните настройку для каждого из них.
sudo cp russian_trusted_root_ca.pem /usr/local/share/ca-certificates/russian_trusted_root_ca.crt
sudo cp russian_trusted_sub_ca.pem /usr/local/share/ca-certificates/russian_trusted_sub_ca.crt
sudo update-ca-certificates
sudo cp russian_trusted_*.pem /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
JVM не использует системное хранилище ОС. Рекомендуем создать отдельный truststore, а не изменять cacerts внутри JRE. Изменения в cacerts сбрасываются при обновлении JDK, а в prod-среде на запись в этот файл часто нет прав.
# Создать отдельный truststore и импортировать оба сертификата
keytool -importcert -alias russian_trusted_root \
-file russian_trusted_root_ca.pem \
-keystore russian_truststore.jks \
-storepass <пароль> -noprompt
keytool -importcert -alias russian_trusted_sub \
-file russian_trusted_sub_ca.pem \
-keystore russian_truststore.jks \
-storepass <пароль> -noprompt
Укажите truststore при запуске приложения:
java -Djavax.net.ssl.trustStore=/path/to/russian_truststore.jks \
-Djavax.net.ssl.trustStorePassword=<пароль> \
-jar app.jar
Отдельный truststore не наследует системные доверенные CA — он содержит только явно добавленные сертификаты. Если приложению нужно доверять одновременно публичным CA и сертификатам Минцифры, импортируйте сертификаты Минцифры в копию стандартного cacerts и используйте ее добавьте или добавьте все необходимые корневые сертификаты в truststore.
Путь к стандартному хранилищу зависит от версии JDK:
$JAVA_HOME/jre/lib/security/cacerts;$JAVA_HOME/lib/security/cacerts.Эти библиотеки используют bundle certifi, а не системное хранилище. Доступны два варианта:
# Через переменные окружения (действуют на весь процесс)
export REQUESTS_CA_BUNDLE=/path/to/russian-trusted-ca-bundle.pem
export SSL_CERT_FILE=/path/to/russian-trusted-ca-bundle.pem
# Или явно в коде
import requests
requests.get("https://securepay.tinkoff.ru/...", verify="/path/to/russian-trusted-ca-bundle.pem")
Node.js по умолчанию игнорирует системное хранилище:
NODE_EXTRA_CA_CERTS=/path/to/russian-trusted-ca-bundle.pem node app.js
Добавляйте сертификаты на этапе сборки образа, а не в рантайме:
COPY russian-trusted-ca-bundle.pem /usr/local/share/ca-certificates/russian-trusted-ca.crt
RUN update-ca-certificates
# Для Node.js и Python внутри контейнера задайте переменные окружения:
ENV NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt
ENV REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
.NET использует системное хранилище сертификатов Windows. Для установки в хранилище LocalMachine, которое используется сервисами и приложениями, работающими не от имени текущего пользователя, выполните команды:
# PowerShell с правами администратора
Import-Certificate -FilePath "C:\certs\russian_trusted_root_ca.cer" `
-CertStoreLocation Cert:\LocalMachine\Root
Import-Certificate -FilePath "C:\certs\russian_trusted_sub_ca.cer" `
-CertStoreLocation Cert:\LocalMachine\CA
Корневой сертификат устанавливается в хранилище Root (доверенные корневые CA), промежуточный — в CA (промежуточные CA). То же самое можно сделать через GUI в certlm.msc. После установки перезапустите пул приложений или сервис.
curl -v https://securepay.tinkoff.ru/
# Ожидаемый результат: SSL certificate verify ok
openssl s_client -connect securepay.tinkoff.ru:443 -servername securepay.tinkoff.ru -showcerts </dev/null
# Флаг -servername (SNI) обязателен: без него на shared-хостинге может вернуться не тот сертификат.
# В цепочке должны присутствовать Russian Trusted Root CA и Russian Trusted Sub CA.
# Проверить срок действия установленного сертификата
echo | openssl s_client -connect securepay.tinkoff.ru:443 -servername securepay.tinkoff.ru 2>/dev/null \
| openssl x509 -noout -dates
Если в выводе команд сейчас отображается сертификат GlobalSign — переключения еще не было, и банк использует действующий сертификат. Цепочка сменится автоматически в момент перехода. Убедитесь, что в выводе есть SSL certificate verify ok и сертификаты Минцифры уже установлены в вашем окружении.
После установки сертификатов пересоберите и перезапустите сервисы в контейнерах, чтобы изменения вступили в силу.
| Проблема | Причина | Решение |
|---|---|---|
unable to get local issuer certificate |
Не установлен промежуточный сертификат (Sub CA) | Установить оба сертификата |
Ошибка сохраняется после update-ca-certificates |
Python/Node.js используют собственный bundle | Задать переменные REQUESTS_CA_BUNDLE / NODE_EXTRA_CA_CERTS |
| В Docker всё падает в рантайме | Сертификат добавлен после сборки | Добавить сертификат на этапе build и пересобрать образ |
| Работает локально, падает в production | Разные окружения или разные truststore | Выполнить настройку в каждом окружении |
update-ca-certificates отработал, но CA не доверяется |
Файл в формате DER вместо PEM | Сконвертировать: openssl x509 -inform DER -in cert.cer -out cert.pem |
| Соединение отклонено при корректно установленном CA | Включён certificate pinning | Обновить pin на новый сертификат |
| При проверке возвращается не тот сертификат | Не передан SNI | Добавить флаг -servername <домен> в команду openssl s_client |
| При проверке возвращается сертификат GlobalSign / другой УЦ | Переключение ещё не произошло | Это нормально — сейчас используется действующий сертификат GlobalSign. Цепочка сменится автоматически в момент переключения. Убедитесь, что сертификаты Минцифры уже установлены |
Если после установки возникли проблемы, удалите добавленные сертификаты:
# Debian / Ubuntu
sudo rm /usr/local/share/ca-certificates/russian_trusted_*.crt && sudo update-ca-certificates --fresh
# RHEL / CentOS
sudo rm /etc/pki/ca-trust/source/anchors/russian_trusted_*.pem && sudo update-ca-trust
# Java — уберите флаги -Djavax.net.ssl.trustStore и -Djavax.net.ssl.trustStorePassword при запуске
# Windows
# Remove-Item Cert:\LocalMachine\Root\<thumbprint>
В целях безопасности запросы на выплаты нужно подписывать электронной цифровой подписью. Можете выбрать удобный для себя вариант – КриптоПро или RSA.
Чтобы сформировать подпись запроса:
DigestValue, SignatureValue, X509SerialNumber). Объект DATA также не учитывается. Например: [{"TerminalKey","123456789000E2C"}, {"isNeedRrn",true}, {"PaymentId","20150"}]
[{"PaymentId","20150"}, {"TerminalKey","123456789000E2C"}, {"isNeedRrn",true}]
20150123456789000E2Ctrue
DigestValue.SignatureValue.*Инструкция по получению RSA-ключа доступна по ссылке.
Ниже представлены примеры реализации работы с библиотекой:
| Язык | Ссылка |
|---|---|
| Java | https://cdn.tbank.ru/static/documents/rsa-crypto-lib-java-mapi.zip |
Чтобы сформировать подпись запроса:
Соберите массив всех передаваемых параметров в виде пар Ключ-Значение (кроме параметров DigestValue, SignatureValue, X509SerialNumber). Объект DATA также не учитывается. Например:
[{"TerminalKey","123456789000E2C"}, {"isNeedRrn",true}, {"PaymentId","20150"}]
Отсортируйте по Ключам с учетом регистра:
[{"PaymentId","20150"}, {"TerminalKey","123456789000E2C"}, {"isNeedRrn",true}]
Конкатенируйте значения:
20150123456789000E2Ctrue
Вычислите хэш-сумму по ГОСТ Р 34.11-2012 256 и получите результат в бинарном виде.
Закодируйте получившееся в пункте 4 бинарное значение в Base64 и запишите значение в DigestValue.
Подпишите получившееся в пункте 4 бинарное значение по ГОСТ Р 34.11-2012 256, закодируйте результат в Base64 и запишите в SignatureValue.
Инструкция по получению сертификата доступна по ссылке.
Ниже представлены примеры реализации работы с библиотекой КриптоПро (CryptoPro).
| Язык | Ссылка | Версия Крипто Про |
|---|---|---|
| С# | Поддержка 2012 ГОСТ | КриптоПРО CSP |
| Java | Поддержка 2012 ГОСТ | КриптоПРО JCP |
| PHP | Поддержка 2012 ГОСТ | КриптоПРО CSP |
Используйте подпись с помощью токена только при работе с 3DS-методами при привязке карт и получении справки по операции
Чтобы сгенерировать подпись запроса, потребуется пароль (параметр Password) от терминала A2C.
Добавьте в массив только параметры корневого объекта. Объект
DATAне участвует в расчете токена.
[{"TerminalKey","123456789000E2C"}, {"isNeedRrn",true}, {"PaymentId","20150"}]
Password, значение):[{"TerminalKey","123456789000E2C"}, {"isNeedRrn",true}, {"PaymentId","20150"}, {"Password","Dfsfh56dgKl"}]
[{"Password", "Dfsfh56dgKl"}, {"PaymentId","20150"}, {"TerminalKey","123456789000E2C"}, {"isNeedRrn",true}]
Dfsfh56dgKl20150123456789000E2Ctrue
Token.Формирование подписи запроса Token завершено.
Добавляет новый сертификат для терминала для подписи запросов. Для терминала может быть загружено несколько сертификатов. Запрос подписывается с помощью текущего сертификата, у которого еще не истек срок действия.
Сертификат должен соответствовать требованиям:
Файл не поврежден.
Расширение файла — .cer.
Загружается именно открытая часть ключа.
Алгоритм подписи подходит под используемые:
Алгоритм подписи для RSA-сертификата:
Содержимое файла начинается со строки "-----BEGIN CERTIFICATE-----", заканчивается "-----END CERTIFICATE-----".
Сертификат должен быть закодирован с помощью Base64.
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| Certificate required | object Сертификат с расширением .cer. |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата, которым подписан запрос. Можно найти в составе сертификата или на сайте, вставив открытую часть сертификата |
{- "Success": true,
- "ErrorCode": "0",
- "TerminalKey": "123456789000E2C",
- "X509SerialNumber": "2613832945",
- "StartDate": "14.03.2022 15:53:55",
- "ExpirationDate": "14.03.2024 15:53:55"
}Метод позволяет активировать или заблокировать выбранный сертификат без обращения в поддержку.
Запрос должен быть подписан с помощью текущего сертификата, у которого еще не истек срок действия
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| TargetX509SerialNumber required | string Серийный номер сертификата, для которого необходимо обновить статус. Можно найти в составе сертификата или на сайте, вставив открытую часть сертификата |
| SetStatus required | string Новый статус сертификата. Возможные значения
Если переданный в запросе статус совпадает с текущим статусом — запрос считается успешным, и статус сертификата не меняется |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата, которым подписан запрос. Можно найти в составе сертификата или на сайте, вставив открытую часть сертификата |
{- "TerminalKey": "123456789000E2C",
- "TargetX509SerialNumber": "2613832945",
- "SetStatus": "Blocked",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "Success": true,
- "ErrorCode": "0"
}Используйте, чтобы проверять, сколько средств на счете бизнеса заморожено, сколько доступно и общий остаток
Основным параметром является Available, который считается по формуле:
Available(доступно) = Total(всего) — Hold(заблокировано) + Over(овердрафт)
Значение баланса может не совпадать с балансом в ЛК, если есть операции в обработке
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "Success": true,
- "ErrorCode": "0",
- "Total": "223344.00",
- "Hold": "0",
- "Available": "1014.00",
- "Token": "f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9"
}Метод предоставляет информацию о балансе клиента, включая собственные средства, доступные средства, доступный остаток овердрафта и одобренный лимит овердрафта.
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey"": "123456789000E2C",
- "Success"": true,
- "ErrorCode"": "0",
- "Balance"": "12000",
- "Available"": "17000",
- "OverdraftAvailable"": "5000",
- "OverdraftLimit"": "5000"
}Для проведения выплат необходимо сохранять данные банковской карты, чтобы клиенту не приходилось заново их вводить. Безопасность нашей формы привязки соответствует стандарту PCI DSS.
Срок жизни формы привязки ограничен и составляет 2 суток.
Схема отображает порядок вызова методов и статусы привязки карты при использовании формы привязки Банка.
Описание статусов:
Данная схема позволяет использовать вашу форму привязки. В процессе привязки создается идентификатор карты CardId, который привязывается к параметру CustomerKey.
Описание статусов:
Регистрирует клиента в связке с терминалом
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CustomerKey required | string Идентификатор клиента в системе Мерчанта |
string Email клиента | |
| Phone | string Номер мобильного телефона клиента |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "Email": "autotest@test.ru",
- "Phone": 71234567890,
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "ErrorCode": "0",
- "Success": true
}Возвращает данные клиента, сохраненные в связке с терминалом
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CustomerKey required | string Идентификатор клиента в системе Мерчанта |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "ErrorCode": "0",
- "Success": true
}Удаляет сохраненные данные клиента
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CustomerKey required | string Идентификатор клиента в системе Мерчанта |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "ErrorCode": "0",
- "Success": true
}Возвращает список всех привязанных карт клиента, включая удаленные. Не возвращает список счетов, привязанных по номеру телефона через СБП
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CustomerKey required | string Идентификатор клиента в системе Мерчанта |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "Pan": "532130******5598",
- "CardId": "67321574",
- "Status": "A",
- "RebillId": "12345566",
- "CardType": 0,
- "ExpDate": 423
}Используйте разные сценарии работы с картами: проверка, привязка, удаление
Сохраняет карту клиента.
В случае успешной привязки переадресует клиента на Success Add Card URL, в противном случае – на Fail Add Card URL.
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CustomerKey required | string Идентификатор клиента в системе Мерчанта |
| CheckType | string Если параметр не передается, автоматически проставляется значение
|
| ResidentState | boolean Признак резидентности добавляемой карты. Возможные значения:
|
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "1650916637"
}{- "PaymentId": "4243624571",
- "Success": true,
- "ErrorCode": "0",
- "TerminalKey": "123456789000E2C",
- "CustomerKey": "TestCustomer20",
- "RequestKey": "8de92934-26c9-474c-a4ce-424f2021d24d"
} Для Мерчантов с PCI DSS
Проверяет поддерживаемую версию 3DS протокола по карточным данным из входящих параметров. Метод вызывается для операций с Route=ACQ
Для 3DS v2.1: Возможно в ответе получение данных для прохождения дополнительного метода 3DS Method, который позволяет эмитенту собрать данные браузера клиента — это может быть полезно при принятии решения в пользу Frictionless Flow (аутентификация клиента без редиректа на страницу ACS)
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| PaymentId required | string Идентификатор транзакции в системе Т‑Бизнес |
| CardData required | string Зашифрованные данные карты (используется только для Мерчантов с PCI DSS)
Открытый ключ генерируется в Т‑Бизнес. Для получения открытого ключа для шифрования |
| Token required | string Подпись запроса, формируется по инструкции |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "13223312",
- "CardData": "b3tSlUYwsf3Erdv5ReB7WpWK3/NBWLIwDiSLjQG0cBxA0Mgs7ALd7edi0RbVlORsyGZEUJSlRynQ9zLMyHYzWP3z2sQYGA vzOqufoVPe2AozhW3pZV+dN5s7oGcpXd39NDC0Ma/Zw6oa3dJR0Zh8QYjv/sG0zUllMjXl5aHgTpxk37q6OxUakxuG7euhvSN71JqxHs NEuoJELAqLq7U+3tuh9AjTuiBpmEH99maK9e7gnVXgZd1Nk8vachs97xj9cL/023qYMk7CMjldBfG4VOsYVqcHsKfbbJJ8CZXIJgmXhCY ns1hmRD/kf3OhEZr038LghC7Iio0yxHYMhZyJoQ==",
- "Token": "daab60d01863965284f1db558ff37534715afd0f1e726ca9611b1f90720ad03b"
}{- "Version": "2.1.0",
- "PaymentSystem": "mir",
- "Success": true,
- "ErrorCode": 0,
- "Message": "OK"
}Для Мерчантов с PCI DSS
Метод для сбора информации ACS-ом о девайсе. Обязателен, если для 3DS v2.1 в ответе метода Check3dsVersion был получен параметр ThreeDSMethodURL.
Условия выполнения:
| threeDSMethodData required | string JSON с параметрами
|
<body onload="document.form.submit()"> <form name="form" action="{ThreeDSMethodURL}" method="post"> <input type="hidden" name="threeDSMethodData" value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjU2ZTcxMmE1LTE5MGEtNDU4OC05MWJjLWUwODYyNmU3N2M0NCIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJodHRwczovL3Jlc3QtYXBpLXRlc3QudGlua29mZi5ydS92Mi9Db21wbGV0ZTNEU01ldGhvZHYyIn0"> </form> </body>
Для Мерчантов с PCI DSS
Добавляет привязанную карту к клиенту.
В случае успешной привязки переадресует клиента на Success Add Card URL, в противном случае — на Fail Add Card URL.
Для 3DS v1.0: Метод необходимо вызывать после AddCard.
Для 3DS v2.1:
Если в ответе метода возвращается статус 3DS_CHECKING, Мерчанту необходимо сформировать запрос на URL ACS банка, выпустившего карту (в ответе параметр ACSUrl)
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| RequestKey required | string Идентификатор запроса на привязку карты. Получить его можно в ответе метода AddCard |
| CardData required | string Зашифрованные данные карты (используется только для Мерчантов с PCI DSS) Объект Список значений:
Пример: Открытый ключ генерируется в Т‑Бизнес. Для получения открытого ключа для шифрования
|
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
| DATA | object В объекте передаются дополнительные параметры в формате
Максимальная длина ключа — 20 знаков, значения — 100 знаков. Максимальное количество пар ключ:значение — не больше 20. Если ключи или значения содержат в себе специальные символы, получившееся значение должно быть закодировано функцией urlencode. |
{- "TerminalKey": "123456789000E2C",
- "CardData": "b3tSlUYwsf3Erdv5ReB7WpWK3/NBWLIwDiSLjQG0cBxA0Mgs7ALd7edi0RbVlORsyGZEUJSl-RynQ9zLMyHYzWP3z2sQYGAvzOqufoVPe2AozhW3pZV+dN5s7oG-cpXd39NDC0Ma/Zw6oa3dJR0Zh8QYjv/sG0zUllMjXl5aHgTpxk37q6OxUakxuG7euhvSN71JqxHsNEu-oJELAqLq7U+3tuh9AjTuiBpmEH99maK9e7gnVXgZd1Nk8vachs97xj9cL/023qYMk7CMjldBfG4VOsYVqcH-sKfbbJJ8CZXIJgmXhCYns1hmRD/kf3OhEZr038LghC7Iio0yxHYMhZyJoQ==",
- "RequestKey": "3206b55f-83a2-486f-9da0-693dfd2af9b3",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "Success": true,
- "ErrorCode": "0",
- "TerminalKey": "123456789000E2C",
- "Status": "3DS_CHECKING",
- "CustomerKey": "testRegress5",
- "RequestKey": "8de92934-26c9-474c-a4ce424f2021d24d",
- "CardId": "5555"
}Для Мерчантов с PCI DSS
ACSUrl возвращается в ответе метода AttachCard. Если в ответе метода AttachCard возвращается статус 3DS_CHECKING, мерчанту нужно сформировать запрос на URL ACS банка, выпустившего карту, из параметра ACSUrl.
Для 3DS v2.1: компонент ACS использует пары сообщений CReq и CRes для выполнения проверки (Challenge). В ответ на полученное сообщение CReq компонент ACS формирует сообщение CRes, которое запрашивает держателя карты ввести данные для аутентификации.
Формат ответа: cres, полученный по NotificationUrl из запроса метода AttachCard. При успешном результате прохождения 3DS инициированный платеж подтверждается с помощью методов Submit3DSAuthorizationV2 или Submit3DSAuthorizationV2 в зависимости от версии 3DS.
URL: ACSUrl, который возвращается в ответе метода AttachCard. Если в ответе метода AttachCard.
| MD required | string Уникальный идентификатор транзакции в системе Банка (возвращается в ответе на AttachCard) |
| PaReq required | string Результат аутентификации 3-D Secure (возвращается в ответе на AttachCard) |
| TermUrl required | string Адрес перенаправления после аутентификации 3-D Secure (URL обработчик на стороне Мерчанта, принимающий результаты прохождения 3-D Secure) |
<body onload="document.form.submit()" > <form name="form" action="{ACSUrl}" method="post" > <input type="hidden" name="TermUrl" value="{TermUrl}" > <input type="hidden" name="MD" value="{MD}" > <input type="hidden" name="PaReq" value="{PaReq}" > </form> </body>
{- "cres": "FwlGfSwmRARfDXsgt1PBvbtYTIMY2l2SThPEeei6aFwlGfSwmRARfDXsgt1PBvbtYTIMY2l2SThPEeei6aGIdXfZ3psSfuKZt3O35yCVpfAbYs8AmIdIHQmJyskyNxYZyGIdXfZ3psSfuKZt3O35yCVpNkQwzuH68WlB9oiEnt6NdGaegzJ6ljDlKAl7tvQNCPw2FjDWbhHlxj34ut0hhivaJBNHSmvumv7sndTpA7AzxJYNUhkp67fG411fAbYs8AmIdIHQmJyskyNxYZy"
} Для Мерчантов с PCI DSS
При успешном результате прохождения 3-D Secure V1 подтверждает операцию
| MD required | string Уникальный идентификатор транзакции в системе Банка (возвращается в ответе от ACS) |
| PaRes required | string Шифрованная строка, содержащая результаты 3-D Secure аутентификации (возвращается в ответе от ACS) |
| PaymentId required | string Идентификатор транзакции в системе Т‑Бизнес |
| Token required | string Подпись запроса, формируется по инструкции |
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
<body onload="document.form.submit()"> <form name="form" action="https://securepay.tinkoff.ru/e2c/v2/Submit3DSAuthorization" method="post"> <input type="hidden" name="MD" value="2561504"> <input type="hidden" name="PaRes" value="eJxVUttygjAU/BWG1w4mXKXOMY5WOrVTrOOtl7cAqeJI1AAO+vVNFKrlaffkZM9mD9Crsq12ZCJPd7yrmy2sa4zHuyTlq66+mD8bvt4jMF8LxoYzFpeCEQhZntMV09JE3vC8Hx9j27A8LzEcN7aNCPu24VIrihKXetiPdAKT/pQdCNSDiJzTsgA1VCqKeE15QYDGh8FoTBy73fZtQDWFjInRkFi4+Uz82JbH1zJwmjEyHcwAXRDEu5IX4kQ8R/Y0BEqxJeui2HcQOlGesKolSkCqCuhmYFIqlEuVKk3IDL8uPwI3jDaBGZ4XeLxZVeFw5I7nX11AqgMSWjDpzPSxb/ma6XRct4Pl4y51oJkar5zLx1wx7NWI/t3BfQFkxkKuoHHfMGDVfseZugLoDwO6+X16UfHFhUyk/32OMH3vZ5+nYBu/2d4xcMTDsn04j19VqJcmpZjKYKT3q6QigJQMqveF6lVL9O8X+AWMIbbt"> <input type="hidden" name="PaymentId" value="10063"> <input type="hidden" name="TerminalKey" value="123456789000E2C"> <input type="hidden" name="Token" value="871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6" > </form>
{- "Success": true,
- "ErrorCode": "0",
- "TerminalKey": "123456789000E2C",
- "Status": "CONFIRMED",
- "PaymentId": "10063",
- "OrderId": "21050"
}Для Мерчантов с PCI DSS
При успешном результате прохождения 3-D Secure V2 подтверждает операцию
Статус при успешном сценарии: CONFIRMED,
Статус при неуспешном сценарии: REJECTED.
| PaymentId required | string Идентификатор транзакции в системе Т‑Бизнес |
| Token required | string Подпись запроса, формируется по инструкции |
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
<body onload="document.form.submit()"> <form name="form" action="https://securepay.tinkoff.ru/e2c/v2/Submit3DSAuthorizationV2" method="post"> <input type="hidden" name="PaymentId" value="10063"> <input type="hidden" name="TerminalKey" value="123456789000E2C"> <input type="hidden" name="Token" value="871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6" > </form>
{- "Success": true,
- "ErrorCode": "0",
- "TerminalKey": "123456789000E2C",
- "Status": "CONFIRMED",
- "PaymentId": "10063",
- "OrderId": "21050"
}Удаляет карту, ранее привязанную к клиенту
| TerminalKey required | string Идентификатор терминала |
| CardId required | string Идентификатор карты в системе Т‑Бизнес |
| CustomerKey required | string Идентификатор клиента в системе Мерчанта |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "CardId": "67321574",
- "CustomerKey": "TestCustomer10",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "CardId": "67321574",
- "CustomerKey": "TestCustomer10",
- "Status": "D",
- "Success": true,
- "ErrorCode": 0,
- "Message": "OK",
- "Details": "None"
}Получайте уведомления о статусе выполнения метода привязки карты AddCard (успех/неуспех)
Результат привязки карты высылается на адрес Notification URL POST-запросом. При использовании формы привязки карты на стороне Т‑Бизнес нотификация отправляется на сайт Мерчанта на адрес Notification URL синхронно и ожидает ответа в течение 10 секунд. После получения ответа или неполучения его за заданное время сервис переадресует Клиента на Success AddCard URL или Fail AddCard URL в зависимости от результата привязки карты.
Если в Notification URL используются порты, допустимо использование порта 443 (HTTPS). Актуальный список внешних сетей, используемых Т‑Банком, для отправки нотификаций:
Чтобы нотификации работали корректно, добавьте эти сети в исключения сетевых фильтров или других видов защиты, которыми пользуетесь
URL: Notification URL
| Наименование | Тип | Описание |
|---|---|---|
| TerminalKey | String | Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CustomerKey | String | Идентификатор клиента в системе Мерчанта |
| RequestKey | String | Идентификатор запроса на привязку карты |
| Success | bool | Успешность прохождения запроса |
| Status | String | Статус привязки |
| PaymentId | Number | Идентификатор транзакции в системе Т‑Бизнес |
| ErrorCode | String | Код ошибки. «0» в случае успеха |
| CardId | Number | Идентификатор привязанной карты |
| Pan | String | Маскированный номер карты |
| ExpDate | String | Срок действия карты. Параметр возвращается пустым для привязок с "CheckType": "NO". |
| NotificationType | String | Тип нотификации, всегда константа «LINKCARD» |
| RebillId | String | Идентификатор рекуррентного платежа |
| Token | String | Подпись запроса. Формируется по такому же принципу, как и в случае запросов в Т‑Бизнес |
Статусы привязок, по которым приходят http(s)-нотификации:
| Status | Описание |
|---|---|
| COMPLETED | Карта успешно привязана |
| REJECTED | Привязка карты неуспешна |
Пример http(s)-нотификации:
{
"TerminalKey":"123456789000E2C",
"CustomerKey":"5b718a19-2abe-1147-a7d9-b43b198ceee3",
"RequestKey":"acdad9d1-1847-4bdcb743-db86d75253f8",
"Success":true,
"Status":"COMPLETED",
"PaymentId":"700000198023",
"ErrorCode":"0",
"CardId":70000000707,
"Pan":"532130******1359",
"ExpDate":"1122",
"NotificationType":"LINKCARD",
"RebillId":"700000004090",
"Token":"f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9"
}
При получении нотификации и перед ее обработкой проверьте токен в параметре Token, который формируется по инструкции.
Параметры, которые используются Т‑Бизнес при формировании токена нотификации о результате привязки карты:
TerminalKey,CustomerKey,RequestKey,Success,Status,PaymentId,ErrorCode,CardId,Pan,ExpDate,NotificationType,RebillId – параметр передается, если был присвоен во время привязки.Для успешной обработки нотификации Мерчанту необходимо вернуть ответ HTTP CODE = 200 и с телом сообщения: OK (без тегов и заглавными английскими буквами)
Если ответ «OK» не получен, нотификация считается неуспешной, и сервис будет повторно отправлять данную нотификацию раз в час в течение 24 часов.
Если нотификация за это время не доставлена, она будет сложена в архив
PHP. Пример ответа на http(s)-нотификацию
<?php echo «OK»;?>
Java. Пример ответа на http(s)-нотификацию
@POST
@Path("/ok")
public Response NotifyResponse() {
return Response.status(200).entity("OK").build();
}
Уведомляет об успешных/ошибочных выплатах по номеру телефона получателя по http(s)*
*Отправка нотификаций о привязке счета по номеру телефона выполняется аналогично Нотификациям о привязке карты
URL: Notification URL
| Наименование | Тип | Описание |
|---|---|---|
| TerminalKey | String | Идентификатор терминала, выдается Мерчанту в Т‑Бизнес |
| OrderId | String | Уникальный номер заказа в системе Мерчанта |
| Success | bool | Успешность прохождения запроса |
| Status | String | Статус операции |
| PaymentId | Number | Идентификатор транзакции в системе Т‑Бизнес |
| ErrorCode | String | Код ошибки. «0» в случае успеха |
| Amount | Number | Сумма в копейках. |
| Token | String | Подпись запроса |
| SbpId | String | Идентификатор транзакции в СБП |
| Phone | String | Маскированный номер телефона |
Статусы привязок, по которым приходят http(s)-нотификации:
| Status | Описание |
|---|---|
| COMPLETED | Выплата успешно проведена |
| REJECTED | Выплата неуспешна |
Пример http(s)-нотификации:
{
"TerminalKey": "123456789000E2C",
"OrderId": "39724",
"Success": true,
"Status": "COMPLETED",
"PaymentId": "5149251283",
"ErrorCode": "0",
"Amount": "350190",
"Token": "3b12c92c0f09dbf1da20f951e8bd0c5d2a39986a2cfc964624d37aae82ce4713",
"SbpId": "B4163074446157090000120011270501",
"Phone": "+7(999)*--99"
}
При получении нотификации и перед ее обработкой проверьте токен в параметре Token, который формируется по инструкции.
Параметры, которые используются Т‑Бизнес при формировании токена нотификации о результате выплаты:
TerminalKey, OrderId, Success, Status, PaymentId, ErrorCode, Amount.Для успешной обработки нотификации Мерчанту необходимо вернуть ответ HTTP CODE = 200 и с телом сообщения: OK (без тегов и заглавными английскими буквами).
Если ответ «OK» не получен, нотификация считается неуспешной, и сервис будет повторно отправлять данную нотификацию раз в час в течение 24 часов.
Если нотификация за это время не доставлена, она будет сложена в архив.
PHP. Пример ответа на http(s)-нотификацию
<?php echo «OK»;?>
Java. Пример ответа на http(s)-нотификацию
@POST
@Path("/ok")
public Response NotifyResponse() {
return Response.status(200).entity("OK").build();
}
Выплачивайте деньги на карту физлица со счета бизнеса и проверяйте статусы по каждой транзакции, которая вас интересует
Выплата осуществляется вызовом методов с передачей параметров в GET или POST запросах, в зависимости от сценария. Все методы и передаваемые параметры чувствительны к регистру. Порядок передачи параметров в запросе значения не имеет.
Для POST-запроса в заголовке должен присутствовать Content-Type: application/json.
На схеме показаны статусы операции и возможные методы, которые могут быть вызваны, в зависимости от статуса

Полный список возможных статусов операции:
Инициирует выплату
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| OrderId required | string Уникальный номер заказа в системе Мерчанта |
| CardId required | string Идентификатор карты пополнения, привязанной с помощью метода AddCard |
| Amount required | number Сумма в копейках. Минимальное значение — 100 |
| DigestValue required | string Значение хеша в Base64 |
object (DataForInit) Параметры, передаваемые в объект DATA. JSON-объект, содержащий дополнительные параметры в виде “ключ”:“значение”. При передаче параметра CustomerKey, переданные в DATA параметры привяжутся к клиенту. Максимальная длина для ключа — 20 знаков, для значения — 100 знаков. Максимальное количество пар «ключ-значение» не может превышать 20. | |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "OrderId": "autoOrd1615285401068DELb",
- "CardId": "67321574",
- "Amount": 1751,
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "Success": true,
- "ErrorCode": "0",
- "TerminalKey": "123456789000E2C",
- "Status": "CHECKED",
- "PaymentId": "2353039",
- "OrderId": "PaymentTestN",
- "Amount": 1751
}Производит пополнение карты
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| PaymentId required | string Идентификатор транзакции в системе Т‑Бизнес |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "700000085140",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "OrderId": "21050",
- "Success": true,
- "Status": "COMPLETED",
- "PaymentId": "10063",
- "ErrorCode": "0"
}Возвращает текущий статус выплаты
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| PaymentId required | string Идентификатор операции в системе Т‑Бизнес |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "700000085101",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "OrderId": "21057",
- "Success": true,
- "Status": "COMPLETED",
- "PaymentId": "2304882",
- "Amount": "175100",
- "Message": "OK",
- "ErrorCode": "0"
}Метод позволяет получить информацию о реквизитах по выплате
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| PaymentId required | string Идентификатор операции в системе Т‑Бизнес |
| isNeedRrn | boolean Флаг для обозначения необходимости получения RRN по операции |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "700000085101",
- "isNeedRrn": true,
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "OrderId": 21057,
- "Success": true,
- "Status": "CONFIRMED",
- "PaymentId": "2304882",
- "Rrn": 98765432210,
- "ErrorCode": 0,
- "Message": "OK",
- "Details": "None"
}Справку по конкретной выплате А2С можно получить на:
1. URL-сервиса, развернутого на своей стороне.*
2. Электронную почту.
*Поступит файл в кодировке base64
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CallbackUrl required | string URL сервиса получения справок |
| PaymentIdList required | Array of numbers Json-массив, содержащий в себе перечень PaymentId (уникальных идентификаторов в системе Т‑Бизнес) c типом Number |
| Token required | string Подпись запроса, формируется по инструкции |
{- "TerminalKey": "123456789000E2C",
- "PaymentIdList": [
- 1201206437,
- 1201206442
], - "Token": "f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9"
}{- "Success": true,
- "ErrorCode": 0,
- "Message": "OK",
- "Details": "None",
- "PaymentIdList": {
- "Success": true,
- "ErrorCode": 0,
- "Message": "Запрос на отправку документа принят",
- "PaymentId": "1201206442"
}
}Выплата осуществляется вызовом методов с передачей параметров POST запросах. Все методы и передаваемые параметры чувствительны к регистру. Порядок передачи параметров в запросе значения не имеет.
Для POST-запроса в заголовке должен присутствовать Content-Type: application/json.
Чтобы совершить выплату по номеру телефона:
Особенности выплат через СБП:
Инициирует выплату
| TerminalKey required | string <= 20 characters Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала. |
| OrderId required | string <= 36 characters Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции. |
| PhoneNumber required | string^\d{9,15}$ Номер телефона получателя в формате от 9 до 15 цифр |
| SbpMemberId required | number Идентификатор банка-получателя в СБП. Получить список идентификаторов банка можно через метод GetSbpMembers. |
| Amount required | number <= 10 characters Сумма в копейках. Например, 3 руб. 12коп. — это число 312. Минимальная сумма выплаты через СБП: 1 рубль. |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
object JSON-объект с дополнительными параметрами в формате |
{- "TerminalKey": "123456789000E2C",
- "OrderId": "ord_20250405_123456",
- "PhoneNumber": "79012345678",
- "SbpMemberId": 100000000004,
- "Amount": 150000,
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": 2613832945,
- "DATA": {
- "PaymentPurposeDetails": "Перевод на покупку билетов",
- "codeVO": 20200,
- "incomeTypeCode": 3
}
}{- "TerminalKey": "123456789000E2C",
- "OrderId": "ord_20250405_123456",
- "Success": true,
- "Status": "CHECKED",
- "PaymentId": "2353039",
- "Amount": 150000,
- "ErrorCode": "0",
- "RecipientShortName": "Иван Иванович И.",
- "RecipientAccountFundsCategory": "BnkFulAth",
- "IsRecipientResident": true,
- "MaskAccountNumber": "40817"
}Выполняет пополнение счета по номеру телефона
| TerminalKey required | string <= 20 characters Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала. |
| PaymentId required | string Идентификатор операции в системе Т‑Бизнес. |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "700000085140",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "OrderId": "12342345435",
- "Success": true,
- "Status": "COMPLETING",
- "PaymentId": "2353039",
- "ErrorCode": "0"
}Возвращает текущий статус выплаты. Метод рекомендуется использовать в случае нештатной ситуации, когда нотификация о выплате не приходит долгое время.
Первично для получения статуса используйте нотификацию о выплате
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| PaymentId required | string Идентификатор операции в системе Т‑Бизнес |
| DigestValue required | string Значение хеша в Base64. Обязательный параметр, если для терминала включена валидация подписи |
| SignatureValue required | string Значение подписи в Base64. Обязательный параметр, если для терминала включена валидация подписи |
| X509SerialNumber required | string Серийный номер сертификата. Обязательный параметр, если для терминала включена валидация подписи |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "2353039",
- "X509SerialNumber": "2613832945",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g=="
}{- "TerminalKey": "123456789000E2C",
- "OrderId": "21057",
- "Success": true,
- "Status": "CONFIRMED",
- "PaymentId": "2304882",
- "Amount": 1751,
- "ErrorCode": "0",
- "Message": "OK",
- "Details": "None",
- "StatusCode": "None",
- "StatusMessage": "None"
}Возвращает список участников, принимающих переводы через СБП
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "Success": true,
- "ErrorCode": "0",
- "Members": [
- {
- "MemberId": "100000000027",
- "MemberName": "Credit Europa Bank",
- "MemberNameRus"": "АО Кредит Европа Банк"
}
]
}Справку по конкретной выплате А2С можно получить на:
1. URL-сервиса, развернутого на своей стороне.*
2. Электронную почту.
*Поступит файл в кодировке base64
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CallbackUrl required | string URL сервиса получения справок |
| PaymentIdList required | Array of numbers Json-массив, содержащий в себе перечень PaymentId (уникальных идентификаторов в системе Т‑Бизнес) c типом Number |
| Token required | string Подпись запроса, формируется по инструкции |
{- "TerminalKey": "123456789000E2C",
- "PaymentIdList": [
- 1201206437,
- 1201206442
], - "Token": "f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9"
}{- "Success": true,
- "ErrorCode": 0,
- "Message": "OK",
- "Details": "None",
- "PaymentIdList": {
- "Success": true,
- "ErrorCode": 0,
- "Message": "Запрос на отправку документа принят",
- "PaymentId": "1201206442"
}
}Поддержка методов из этой коллекции прекратится в 2027 году. Используйте новые методы.
Выплата осуществляется вызовом методов с передачей параметров POST запросах. Все методы и передаваемые параметры чувствительны к регистру. Порядок передачи параметров в запросе значения не имеет.
Для POST-запроса в заголовке должен присутствовать Content-Type: application/json.
Поддержка методов из этой коллекции прекратится в 2027 году. Используйте новые методы.
Инициирует выплату
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| OrderId required | string Уникальный номер заказа в системе Мерчанта |
| PhoneNumber required | string^\d{9,15}$ Номер телефона получателя в формате от 9 до 15 цифр |
| SbpMemberId required | number Идентификатор банка-получателя в СБП |
| Amount required | number Сумма в копейках. Например, 3 руб. 12коп. — это число 312. Минимальная сумма выплаты через СБП: 1 рубль. |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
object (Параметры, передаваемые в объекте DATA)
|
{- "TerminalKey": "123456789000E2C",
- "Amount": 55555,
- "OrderId": "autoOrd1615285401068DELb",
- "PhoneNumber": "70123456789",
- "SbpMemberId": 100000000004,
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "Success": true,
- "ErrorCode": "0",
- "TerminalKey": "123456789000E2C",
- "Status": "CHECKED",
- "PaymentId": "2353039",
- "OrderId": "autoOrd1615285401068DELb",
- "Amount": 55555
}Выполняет пополнение счета по номеру телефона
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| PaymentId required | string Идентификатор транзакции в системе Т‑Бизнес |
| DigestValue required | string Значение хеша в Base64. Используется, если для терминала включена валидация подписи |
| SignatureValue required | string Значение подписи в Base64. Используется, если для терминала включена валидация подписи |
| X509SerialNumber required | string Серийный номер сертификата. Используется, если для терминала включена валидация подписи |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "700000085140",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "TerminalKey": "123456789000E2C",
- "OrderId": "12342345435",
- "Success": true,
- "Status": "COMPLETING",
- "PaymentId": "2353039",
- "ErrorCode": "0"
}Возвращает текущий статус выплаты. Метод рекомендуется использовать в случае нештатной ситуации, когда нотификация о выплате не приходит долгое время.
Первично для получения статуса используйте нотификацию о выплате
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| PaymentId required | string Идентификатор операции в системе Т‑Бизнес |
| DigestValue required | string Значение хеша в Base64. Обязательный параметр, если для терминала включена валидация подписи |
| SignatureValue required | string Значение подписи в Base64. Обязательный параметр, если для терминала включена валидация подписи |
| X509SerialNumber required | string Серийный номер сертификата. Обязательный параметр, если для терминала включена валидация подписи |
{- "TerminalKey": "123456789000E2C",
- "PaymentId": "2353039",
- "X509SerialNumber": "2613832945",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g=="
}{- "TerminalKey": "123456789000E2C",
- "OrderId": "21057",
- "Success": true,
- "Status": "CONFIRMED",
- "PaymentId": "2304882",
- "Amount": 1751,
- "ErrorCode": "0",
- "Message": "OK",
- "Details": "None",
- "StatusCode": "None",
- "StatusMessage": "None"
}Возвращает список участников, принимающих переводы через СБП
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| DigestValue required | string Значение хеша в Base64 |
| SignatureValue required | string Значение подписи в Base64 |
| X509SerialNumber required | string Серийный номер сертификата |
{- "TerminalKey": "123456789000E2C",
- "DigestValue": "qfeohMmrsEvr4QPB8CeZETb+W6VDEGnMrf+oVjvSaMU=",
- "SignatureValue": "rNTloWBbTsid1n9B1ANZ9/VasWJyg6jfiMeI12ERBSlOnzy6YFqMaa5nRb9ZrK9wbKimIBD70v8j8eP/tKn7/g==",
- "X509SerialNumber": "2613832945"
}{- "Success": true,
- "ErrorCode": "0",
- "Members": [
- {
- "MemberId": "100000000027",
- "MemberName": "Credit Europa Bank",
- "MemberNameRus"": "АО Кредит Европа Банк"
}
]
}Справку по конкретной выплате А2С можно получить на:
1. URL-сервиса, развернутого на своей стороне.*
2. Электронную почту.
*Поступит файл в кодировке base64
| TerminalKey required | string Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала |
| CallbackUrl required | string URL сервиса получения справок |
| PaymentIdList required | Array of numbers Json-массив, содержащий в себе перечень PaymentId (уникальных идентификаторов в системе Т‑Бизнес) c типом Number |
| Token required | string Подпись запроса, формируется по инструкции |
{- "TerminalKey": "123456789000E2C",
- "PaymentIdList": [
- 1201206437,
- 1201206442
], - "Token": "f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9"
}{- "Success": true,
- "ErrorCode": 0,
- "Message": "OK",
- "Details": "None",
- "PaymentIdList": {
- "Success": true,
- "ErrorCode": 0,
- "Message": "Запрос на отправку документа принят",
- "PaymentId": "1201206442"
}
}Перед запуском интеграции важно провести тестирование. Для этого используйте терминал с приставкой E2CDEMO. Запросы по данному терминалу необходимо отправлять на URL: https://securepay.tinkoff.ru/e2c/v2/
Сценарии, доступные для тестирования на E2CDEMO терминале:
Данные карты необходимо использовать на DEMO-терминале
| Поведение карты | Реквизиты |
|---|---|
| Успешная привязка/выдача | 5000000000000447 expDate: любая действующая дата в формате 11/24 cvv: любой набор из 3 цифр |
| Успешная привязка authRC=1057,message='Покупатель запретил такие операции для своей карты' в ответ на метод Payment |
5000000000000553 expDate: любая действующая дата в формате 11/24 cvv: любой набор из 3 цифр |
Выполняется при передаче номера 79012345678 в параметре PhoneNumber метода Init
Последовательность вызовов:
1. Init возвращает Status «CHECKED».
2. Payment возвращает Status «COMPLETING».
3. GetState возвращает Status «COMPLETED».
Выполняется при передаче номера 79021234567 в параметре PhoneNumber метода Init
Последовательность вызовов:
1. Init возвращает Status «CHECKED».
2. Payment возвращает Status «COMPLETING».
3. GetState возвращает Status «COMPLETED».
Выполняется при передаче номера 79031234567 в параметре PhoneNumber метода Init. Эмулирует ошибку «Недостаточно средств на счете»
Последовательность вызовов:
1. Init возвращает Success:false.
Выполняется при передаче номера 79041234567 в параметре PhoneNumber метода Init. Эмулирует ошибку «Недостаточно средств на счете»
Последовательность вызовов:
1. Init возвращает Status «CHECKED».
2. Payment возвращает Status «COMPLETING».
3. GetState возвращает Status «REJECTED».
| CODE | MESSAGE | DETAILS (опционально) |
|---|---|---|
| 0 | None | |
| 1 | Параметры не сопоставлены | |
| 2 | Отсутствуют обязательные параметры | |
| 3 | Внутренняя ошибка системы интернет эквайринга | |
| 4 | Не получится изменить статус платежа | |
| 5 | Обратитесь в поддержку, чтобы уточнить детали | |
| 6 | Не получилось привязать карту покупателя. Обратитесь в поддержку, чтобы уточнить детали | |
| 7 | Неверный статус покупателя | |
| 8 | Неверный статус транзакции | |
| 9 | Переадресовываемый url пуст | |
| 11 | Невозможно выполнить платеж | |
| 16 | Счет был отклонен. | |
| 17 | Неверные введенные данные | |
| 20 | Ошибка повторного идентификатора заказа | |
| 21 | Внутренняя ошибка вызова сервиса ACQAPI | |
| 50 | Ошибка отправки нотификации | |
| 51 | Ошибка отправки Email | |
| 52 | Ошибка отправки Sms | |
| 53 | Обратитесь к продавцу | |
| 54 | Повторное прохождение 3DS авторизации не допустимо | |
| 55 | Повторите попытку позже | Не найдено оплаченных назначений платежа |
| 60 | Запрещено получение документов по url для текущего терминала | Запрещено получение документов по url для текущего терминала |
| 61 | Должен быть заполнен один из параметров: emailList или Url | Должен быть заполнен один из параметров: emailList или Url |
| 62 | Запрещено получение документов по url для текущего systemId | Запрещено получение документов по url для текущего systemId |
| 63 | Не найдена операция | Не найдена операция |
| 64 | Невалидные данные в запросе | Невалидные данные в запросе |
| 65 | Не удалось сформировать документ. Обратитесь в службу поддержки | Не удалось сформировать документ. Повторите операцию позднее |
| 66 | Не удалось сформировать документ. Повторите операцию позднее | Запрещено получение документов по url для текущего терминала |
| 67 | Не удалось сформировать документ. Повторите операцию позднее | Не удалось сформировать документ. Повторите операцию позднее |
| 68 | Не удалось сформировать документ. Обратитесь в службу поддержки | Стороний сервис не доступен |
| 76 | Операция по иностранной карте недоступна | Операция по иностранной карте недоступна. Воспользуйтесь картой российского банка |
| 78 | Выплата на иностранную карту недоступна | Выплата на иностранную карту недоступна. Воспользуйтесь картой российского банка |
| 88 | Неверно заполнены данные получателя или отправителя при переводе | Неверно заполнено одно из полей r_firstname, r_lastname, s_firstname или s_lastname при переводе |
| 96 | Ошибка Iris | |
| 97 | Ошибка Jasper | |
| 98 | Ошибка SubExt | |
| 99 | Попробуйте повторить попытку позже | Банк, выпустивший карту, отклонил операцию |
| 100 | • Попробуйте еще раз. Если ошибка повторится — обратитесь в поддержку; • Покупатель опротестовал платеж в банке. Обратитесь в поддержку,чтобы уточнить детали; • Платеж уже подтвержден; • Нужно настроить подтверждение платежа через СМС (3DS) — для этого обратитесь в поддержку; • Карта покупателя неактивна. |
|
| 101 | Не пройдена идентификация 3DS. | Ошибка прохождения 3-D Secure |
| 102 | • Обратитесь в поддержку, чтобы уточнить детали | |
| 102 | Операция отклонена, пожалуйста обратитесь в интернет-магазин или воспользуйтесь другой картой. | Заказ не может быть оплачен, обратитесь службу поддержки |
| 102 | Превышен лимит на сумму выплат в месяц | Для решения вопроса обратитесь к персональному менеджеру |
| 103 | Недостаточно средств на счете | |
| 106 | Карта не поддерживает 3DS проверку. Попробуйте другую карту | |
| 107 | Неверно введен CardId. Проверьте, что такая карта была ранее привязана | |
| 110 | Не передан cres | |
| 111 | Передан некорректный cres | |
| 119 | Превышено допустимое количество запросов авторизации операции | |
| 120 | Попробуйте повторить попытку позже | |
| 123 | Попробуйте повторить попытку позже | |
| 125 | Попробуйте повторить попытку позже | |
| 191 | Некорректный статус договора, обратитесь к вашему менеджеру | |
| 201 | Поле PaymentId не должно быть пустым | |
| 202 | Терминал заблокирован | |
| 203 | Параметры запроса не должны быть пустыми | |
| 204 | Неверный токен. Проверьте пару TerminalKey/SecretKey | |
| 205 | Неверный токен. Проверьте пару TerminalKey/SecretKey | Указанный терминал не найден |
| 206 | Email не может быть пустым | |
| 207 | Параметр DATA превышает максимально допустимый размер | |
| 208 | Наименование ключа из параметра DATA превышает максимально допустимый размер | |
| 209 | Значение ключа из параметра DATA превышает максимально допустимый размер | |
| 210 | Размер поля TerminalKey должен быть от {min} до {max} | |
| 211 | Неверный формат IP | |
| 212 | Размер поля OrderId должен быть от {min} до {max} | |
| 213 | Размер поля Description должен быть от {min} до {max} | |
| 216 | Размер поля CustomerKey должен быть от {min} до {max} | |
| 217 | Поле PaymentId числовое значение должно укладываться в формат (<{integer} цифр>.<{fraction} цифр>) | |
| 218 | Значение PAN не является числовым | |
| 219 | Неверный срок действия карты | |
| 220 | Размер поля CardHolder должен быть от {min} до {max} | |
| 221 | Значение CVV не является числовым | |
| 222 | Поле CardId числовое значение должно укладываться в формат (<{integer} цифр>.<{fraction} цифр>) | |
| 223 | Поле RebillId числовое значение должно укладываться в формат (<{integer} цифр>.<{fraction} цифр>) | |
| 224 | Неверный формат Email | |
| 225 | Неверный формат Email | |
| 226 | Размер поля Email должен быть от {min} до {max} | |
| 227 | Размер поля Phone должен быть от {min} до {max} | |
| 228 | Размер поля MD должен быть от {min} до {max} | |
| 229 | Размер поля PaRes должен быть от {min} до {max} | |
| 231 | Не найден идентификатор карты | |
| 233 | Размер поля CardId должен быть от {min} до {max} | |
| 234 | Размер поля PAN должен быть от {min} до {max} | |
| 235 | Размер поля RebillId должен быть от {min} до {max} | |
| 236 | Размер поля Token должен быть от {min} до {max} | |
| 237 | Размер поля PaymentId должен быть от {min} до {max} | |
| 238 | Размер поля ExpDate должен быть от {min} до {max} | |
| 239 | Размер поля CVV должен быть от {min} до {max} | |
| 240 | Поле Amount числовое значение должно укладываться в формат (<{integer} цифр>.<{fraction} цифр>) | |
| 243 | Ошибка шифрования карточных данных | |
| 244 | Ошибка сопоставления карточных данных | |
| 245 | Параметр AddCard не сопоставлен | |
| 247 | Параметр Amount не сопоставлен | |
| 248 | Параметр CVV не сопоставлен | |
| 250 | Параметр DATA не сопоставлен | |
| 251 | Неверная сумма. Сумма должна быть больше или равна {value} копеек | |
| 252 | Срок действия карты истек | |
| 254 | Дополнительные возможности отключены | |
| 255 | Платеж не найден | |
| 257 | Некорректное значение признака последней выплаты. Используйте значения true или false | Некорректное значение признака последней выплаты. Используйте значения true или false |
| 260 | Максимальная длина номера телефона 30 символов | |
| 305 | Ошибка проверки поля | |
| 316 | Максимальная длина номера телефона 19 символов | |
| 322 | Передана некорректная подпись | |
| 323 | Amount не совпадают | |
| 325 | Транзакция не найдена | |
| 326 | Неверный amount | |
| 327 | Терминал не поддерживает C2C переводы или не передан Route="C2C" для C2C терминала | |
| 328 | Должны присутствовать данные для списания и данные для пополнения | |
| 330 | Сумма в запросе больше чем в оригинальной транзакции | |
| 331 | Неверный терминал | |
| 335 | OrderId {value} не найден для TerminalKey {value} | |
| 381 | Возможна привязка только резидентных карт | |
| 382 | Возможна привязка только нерезидентных карт | |
| 401 | Внутренняя ошибка системы | |
| 402 | Повторите попытку позже | |
| 403 | Превышен лимит на количество пополнений в месяц | |
| 404 | Превышен лимит на сумму пополнения через бесконтактные сервисы | |
| 405 | Превышен лимит на сумму пополнения по виртуальной карте | |
| 406 | Превышен лимит на сумму пополнения в месяц через мобильное приложение | |
| 407 | Не найдено | |
| 410 | Данный тип перевода для терминала не доступен | |
| 411 | Сертификат не найден | |
| 412 | Истек срок действия сертификата | |
| 413 | Сертификат заблокирован | |
| 414 | Сертификат уже сохранен для данного терминала | |
| 415 | Дата начала срока действия сертификата еще не наступила | |
| 416 | Некорректное значение параметра SetStatus | |
| 417 | Ошибка обработки сертификата | |
| 500 | Добавление карты к данному терминалу запрещено | |
| 501 | Терминал не найден | |
| 502 | Карта по requestKey не найдена | |
| 503 | CustomerKey не найден | |
| 504 | Не удалось провести платеж при привязке карты | |
| 505 | Не удалось привязать карту. Внутренняя ошибка | |
| 506 | Карта добавлена в черный список | |
| 507 | Карта не поддерживает 3DS проверку. Попробуйте другую карту | |
| 508 | Неверный номер карты | |
| 509 | Не удалось выполнить отмену при привязке карты | |
| 510 | Карта уже привязана к переданному CustomerKey | |
| 511 | Проверка 3DS не пройдена | |
| 512 | Не удалось выполнить запрос на проверку 3DS | |
| 513 | Не удалось выполнить платеж после прохождения 3DS | |
| 514 | Введена неверная сумма холдирования | |
| 515 | Внутренняя ошибка | |
| 600 | Карта добавлена в черный список | |
| 600 | Интернет-магазин отклонил операцию по данной карте. Обратитесь в интернет-магазин для выяснения причин отказа в платеже | |
| 601 | Разрешены операции только по MasterCard | |
| 604 | Обратитесь в поддержку, чтобы уточнить детали | |
| 619 | Отсутствуют обязательные данные отправителя | Не переданы персональные данные отправителя для операции emoney2card более 15000 руб |
| 620 | Проверьте сумму — она не может быть равна 0 | Сумма операции не может быть равна 0 |
| 623 | Выплата по этому заказу уже прошла | Запрещено проводить платеж с OrderId для которого уже есть успешный платеж |
| 632 | Превышен лимит на сумму операции | Лимит на сумму пополнения emoney2card. См. лимиты |
| 633 | Превышен лимит на количество переводов в день по иностранным картам | Лимит на кол-во пополнений emoney2card для карт эмитированных нерезидентами РФ за 1 отчетный день |
| 634 | Превышен лимит на сумму переводов по номеру карты в месяц | Лимит на сумму пополнения emoney2card по номеру карты одного получателя в отчетный месяц |
| 637 | Не хватает данных получателя или отправителя для выплаты на иностранную карту. Проверьте заполнение | Отсутствуют персональные данные получателя/отправителя при переводе на иностранную карту |
| 642 | Проверьте номер карты | Карта не прошла проверку по алгоритму Луна |
| 648 | Магазин заблокирован или еще не активирован. Обратитесь в поддержку, чтобы уточнить детали | |
| 651 | Не получилось совершить платеж. Свяжитесь с поддержкой | Передаваемый Request_Id не найден |
| 700 | Список карт Masterpass недоступен для данного магазина | |
| 701 | Сервис MasterPass недоступен | |
| 702 | Поле maid и saav должно быть задано в настройках терминала | |
| 703 | Обратитесь в поддержку, чтобы уточнить детали | |
| 800 | Комиссия не найдена | |
| 903 | Повторите попытку позже | |
| 914 | Платеж не найден | |
| 999 | Попробуйте повторить попытку позже | |
| 1001 | Свяжитесь с банком | Свяжитесь с банком, выпустившим карту, чтобы провести платеж |
| 1003 | Неверный магазин | Неверный номер магазина. Идентификатор магазина недействителен |
| 1004 | Банк, который выпустил карту, считает платеж подозрительным | |
| 1005 | Платеж отклонен банком, выпустившим карту | Платеж отклонен банком, выпустившим карту |
| 1006 | Платеж не прошел | Свяжитесь с банком, выпустившим карту, чтобы провести платеж |
| 1007 | Банк, который выпустил карту, считает платеж подозрительным | |
| 1008 | Банк, который выпустил карту, отклонил платеж | |
| 1012 | Банк, который выпустил карту, отклонил платеж | |
| 1013 | Банк, который выпустил карту, отклонил платеж — сумма превышает лимит по карте | Сумма превышает лимит платежа вашего банка. Воспользуйтесь другой картой или обратитесь в банк |
| 1014 | Карта недействительна | Неправильные реквизиты — проверьте их или воспользуйтесь другой картой |
| 1015 | Неверный номер карты | Неверный номер карты |
| 1017 | Попробуйте снова или свяжитесь с банком, выпустившим карту | Попробуйте снова или свяжитесь с банком, выпустившим карту |
| 1018 | Неизвестный статус платежа | |
| 1019 | Банк, который выпустил карту, отклонил платеж — сумма превышает лимит по карте | |
| 1033 | Истек срок действия карты | |
| 1038 | Превышено количество попыток ввода ПИН-кода — попробуйте снова или обратитесь в банк, выпустивший карту | |
| 1039 | Платеж отклонен — счет не найден | |
| 1041 | Карта утеряна | Карта утеряна. Свяжитесь с банком, выпустившим карту |
| 1043 | Банк, который выпустил карту, считает платеж подозрительным | |
| 1053 | Платеж отклонен — счет не найден | |
| 1054 | Истек срок действия карты | Неправильные реквизиты — проверьте их или воспользуйтесь другой картой |
| 1055 | Неверный ПИН | |
| 1057 | Покупатель запретил такие операции для своей карты | |
| 1058 | Покупатель запретил такие операции для своей карты | |
| 1059 | Банк, который выпустил карту, считает платеж подозрительным | |
| 1061 | Покупатель превысил лимит платежей по своей карте | |
| 1062 | Банк, который выпустил карту, отклонил платеж | |
| 1063 | Банк, который выпустил карту, считает платеж подозрительным | |
| 1064 | Проверьте сумму | |
| 1065 | Покупатель превысил лимит платежей по своей карте | |
| 1076 | Не получилось отменить резервирование. Обратитесь в поддержку, чтобы уточнить детали | |
| 1077 | Коды не совпадают — попробуйте снова | |
| 1078 | Данный тип операции не поддерживается картой | |
| 1080 | Плательщик ввел неверный срок действия карты | |
| 1082 | Неверный CVV | Неправильные реквизиты — проверьте их или воспользуйтесь другой картой |
| 1085 | Операция успешна | Успех |
| 1086 | Платеж отклонен — не получилось подтвердить ПИН-код | |
| 1088 | Банк, который выпустил карту, отклонил платеж | |
| 1091 | Технические работы в банке, который выпустил карту | |
| 1092 | Банк, который выпустил карту, отклонил платеж | |
| 1093 | Банк, который выпустил карту, считает платеж подозрительным | |
| 1094 | Банк, который выпустил карту, считает платеж подозрительным | |
| 1096 | Системная ошибка | Системная ошибка |
| 1116 | Некорректная сумма выдачи | Сумма баланса меньше суммы переданной в операции выдачи |
| 1201 | Обратитесь в поддержку, чтобы уточнить детали | |
| 1202 | Сумма платежа превышает лимит по разовой операции в этом магазине. Обратитесь в поддержку, чтобы уточнить детали | Для решения вопроса обратитесь к персональному менеджеру |
| 1203 | Сумма платежа превышает лимит по разовой операции или количеству операций в этом магазине. Обратитесь в поддержку, чтобы уточнить детали | Для решения вопроса обратитесь к персональному менеджеру |
| 1204 | Достигнут лимит по суточному обороту. Чтобы изменить лимит, обратитесь в поддержку | Для решения вопроса обратитесь к персональному менеджеру |
| 1205 | Магазин не принимает карты этой страны. Обратитесь в поддержку, чтобы уточнить детали | Для решения вопроса обратитесь к персональному менеджеру |
| 1207 | Сообщите покупателю, чтобы попробовал оплатить еще раз. Если ошибка повторится — обратитесь в поддержку | Для решения вопроса обратитесь к персональному менеджеру |
| 1217 | Воспользуйтесь другой картой или обратитесь к продавцу | Воспользуйтесь другой картой или обратитесь к продавцу |
| 1218 | Воспользуйтесь другой картой или обратитесь к продавцу | Воспользуйтесь другой картой или обратитесь к продавцу |
| 1235 | Для карт «Мир» нужно настроить подтверждение платежей по СМС 3DS 2.0. Обратитесь в поддержку, чтобы уточнить детали | |
| 1237 | Получатель находится в базе ЦБ РФ, операция отклонена по 161-ФЗ: t.tb.ru/161FZ | |
| 1316 | Запрещено проведение авторизации | Запрещено проведение авторизации с использованием 3DS |
| 1502 | Недостаточно средств на счете компании | Insufficient funds |
| 1503 | Некорректный статус счета, обратитесь в поддержку | Invalid account status |
| 2014 | Не пройдена идентификация 3DS | |
| 2015 | Mерчант с таким именем и паролем не найден | |
| 2200 | Превышено допустимое количество запросов авторизации операции | |
| 8003 | Операция запрещена для покупки долями | |
| 9001 | Попробуйте повторить попытку позже | |
| 9999 | Внутренняя ошибка системы | |
| 9999 | cert expired for terminal with id:... | У сертификата на терминале истек срок действия. Для выпуска нового сертификата воспользуйтесь инструкцией по ссылке или обратитесь к персональному менеджеру |
| CODE | MESSAGE |
|---|---|
| 99 | Попробуйте повторить попытку позже |
| 102 | Попробуйте повторить попытку позже |
| 1202 | Попробуйте повторить попытку позже |
| 1204 | Попробуйте повторить попытку позже |
| 1237 | Получатель находится в базе ЦБ РФ, операция отклонена по 161-ФЗ: t.tb.ru/161FZ |
| 3004 | Способ СБП недоступен для магазина |
| 3005 | Не получен ответ от банка-получателя. |
| 3007 | Отказ в проведении операции от СБП |
| 3008 | У получателя нет расчетного счета в этом банке. Выберите другой банк |
| 3009 | Отказ в проведении операции от СБП или банка получателя |
| 3010 | У получателя нет расчетного счета в этом банке. ФИО некорректное |
| 3032 | Слишком много неудачных попыток за час. Попробуйте снова через час или выберите другой банк получателя |
| 3033 | Слишком много неудачных попыток за сутки. Попробуйте еще раз завтра или выберите другой банк получателя |
| 3034 | Банк получателя отклонил выплату. Попросите получателя обратиться туда или выберите другой его банк |
| 3035 | Банк получателя отклонил выплату. Попросите получателя обратиться туда или выберите другой его банк |
| 3036 | Возникла ошибка. Не получилось сделать выплату |
| 4001 | Отсутствуют обязательные параметры |
| 4002 | Некорректные параметры запроса |
| 4003 | Способ СБП недоступен для магазина |
| 4004 | Повторите попытку позднее |
| 4005 | Выплата по данному OrderId уже инициирована |
| 4006 | Передан некорректный PaymentId |
| 4007 | Не верный КВО |
| 4008 | Не передан codeVO |
По техническим вопросам обратитесь на почту acq_help@tbank.ru.
Для предоставления обратной связи и по вопросам улучшения обслуживания и предоставляемого сервиса обратитесь к вашему личному менеджеру
| № | Изменения | Дата |
|---|---|---|
| 1.0 | Дополнено описание к методу GetCardList "Не возвращает список счетов, привязанных по номеру телефона через СБП" Исправлены названия методов SBP |
30.05.2023 |
| 1.1 | Обновлена обязательность параметра ExpDate для объекта CardData |
01.06.2023 |
| 1.2 | Обновлен URL для метода Submit3DSAuthorization | 21.06.2023 |
| 1.3 | Обновлено описание метода Check3dsVersionResponseV2 | 23.06.2023 |
| 1.4 | Добавлен список IP-адресов нотификаций | 07.07.2023 |
| 1.5 | Введено разделение PCI/nonPCI схем для метода Init | 19.07.2023 |
| 1.6 | Добавлены методы работы с сертификатами | 28.07.2023 |
| 1.7 | Удален параметр CustomerKey для метода Init |
14.08.2023 |
| 1.8 | Обновлен список ошибок | 28.09.2023 |
| 1.9 | Обновлен список ошибок | 05.10.2023 |
| 1.10 | Обновлены примеры запросов для InitSBP | 16.10.2023 |
| 1.11 | Обновлена обязательность параметра ExpDate для объекта CardData |
24.10.2023 |
| 1.12 | Добавлена информация по параметру ResidentState для метода AddCard |
31.10.2023 |
| 1.13 | Актуализирован список ошибок (99) | 06.11.2023 |
| 1.14 | Исправлены примеры параметров Email и Phone | 20.12.2023 |
| 1.15 | Обновлен список статусов операции | 21.12.2023 |
| 1.16 | Добавлены описание ошибки 9999 "cert expired for terminal with id:.." и уточнения по формированию подписи запросов. Обновлены сроки действия тестовых карт |
24.01.2024 |
| 1.17 | Обновлен тип данных CardId |
22.02.2024 |
| 1.18 | Добавлен параметр AddInfo для метода Init |
15.03.2024 |
| 1.19 | Обновлен список ошибок по СБП | 25.06.2024 |
| 1.20 | Обновлено описание метода Получение статуса выплаты | 24.07.2024 |
| 1.21 | Обновлено описание инструкции формирования токена и список параметров для методов SBP | 02.11.2024 |
| 1.22 | Добавлена информация о сроке жизни формы привязки в раздел Сценарий привязки карты | 13.11.2024 |
| 1.23 | Обновлена информация по формированию подписи запроса | 24.12.2024 |
| 1.24 | Дополнен список кодов ошибок | 22.01.2025 |
| 1.25 | Изменено описание раздела Сценарий привязки карты | 17.03.2025 |
| 1.26 | Обновлены список ошибок по СБП и описание параметра DATA для выплат по СБП |
09.07.2025 |
| 1.27 | Обновлен список ошибок по СБП | 10.07.2025 |
| 1.28 | Обновлено описание сценария Ошибочный перевод для выплаты по СБП | 05.08.2025 |
| 1.29 | Обновлено описание параметра PaymentPurposeDetails |
14.08.2025 |
| 1.30 | Обновлен список ошибок | 03.09.2025 |
| 1.31 | Обновлен список ошибок | 04.09.2025 |
| 1.32 | Обновлено описание продукта | 11.09.2025 |
| 1.33 | Обновлено описание параметров r_middlename и s_middlename | 11.09.2025 |
| 1.34 | Добавлен метод Остаток по счету с овердрафтом | 03.10.2025 |
| 1.35 | Обновлена структура ответа метода Получение статуса выплаты через СБП | 08.12.2025 |
| 1.36 | Добавлен параметр codeVO для метода sbp/Init |
16.12.2025 |
| 1.37 | Обновлен список ошибок по СБП | 17.12.2025 |
| 1.38 | Добавлен параметр codeVO для метода Init |
29.01.2026 |
| 1.39 | Добавлен подраздел Проверить токен нотификации в разделы Нотификации о привязке карты и Нотификации о выплате по номеру телефона | 03.02.2026 |
| 1.40 | Обновлены параметры метода Остаток по счету с овердрафтом | 19.02.2026 |
| 1.41 | Обновлен параметр PhoneNumber для метода sbp/Init |
18.03.2026 |
| 1.42 | Обновлен список ошибок | 09.04.2026 |
| 1.43 | Добавлено примечание к параметру ExpDate в теле HTTP(s)-нотификации |
23.04.2026 |
| 1.44 | Обновлено описание параметра codeVO |
20.05.2026 |
| 1.45 | Добавлен подраздел по установке TLS-сертификата НУЦ Минцифры | 16.06.2026 |
| 1.46 | Добавлены новые методы для выплат через СБП | 16.07.2026 |
| 1.47 | Обновлен список ошибок | 25.08.2026 |