Сценарий из mcp-everything. Актуально на 2026-10-12.
Используй этот сценарий после таймаута, потери ответа или уведомления. Результат — состояние конкретного платежа либо список всех платежей, созданных для заказа.
PaymentId, вызови POST /v2/GetState и сверь Amount, OrderId, Success, ErrorCode и Status.OrderId или для заказа создавались повторные платежи, вызови POST /v2/CheckOrder.Payments ответа POST /v2/CheckOrder по PaymentId и обрабатывай ее текущий Status, не полагаясь только на редирект SuccessURL.curl --request POST 'https://securepay.tinkoff.ru/v2/CheckOrder' \
--header 'Content-Type: application/json' \
--data '{
"TerminalKey": "<TerminalKey>",
"OrderId": "21057",
"Token": "<Token>"
}'
https://securepay.tinkoff.ru/v2https://rest-api-test.tinkoff.ru/v2Тип: Другое
Для каждого подписываемого запроса передавай TerminalKey и Token в корневом JSON-объекте. TerminalKey и секретный Password находятся в личном кабинете интернет-эквайринга; Password в запрос не передается.
Чтобы получить Token, собери корневые параметры запроса, добавь к ним Password, исключи Token, вложенные объекты и массивы, отсортируй пары по имени ключа, склей только значения и вычисли SHA-256 в UTF‑8. Полученную шестнадцатеричную строку передай в Token.
Возвращает сумму, заказ и текущий статус конкретного платежа.
Документация: https://developer.tbank.ru/eacq/api/get-state
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
TerminalKey |
body | string | да | Идентификатор терминала, до 64 символов |
PaymentId |
body | string | да | Идентификатор платежа, до 20 символов |
Token |
body | string | да | Подпись запроса |
IP |
body | string | нет | IP-адрес покупателя |
GetPhone |
body | boolean | нет | Запросить номер телефона |
Возвращает массив Payments с историей и текущими статусами платежей для одного заказа.
Документация: https://developer.tbank.ru/eacq/api/check-order
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
TerminalKey |
body | string | да | Идентификатор терминала, до 64 символов |
OrderId |
body | string | да | Идентификатор заказа, до 50 символов |
Token |
body | string | да | Подпись запроса |
Content-Type: application/json и используй TLS 1.2 или выше.POST /v2/Init сумма Amount должна совпадать с суммой Receipt.Items.Amount.Success, ErrorCode и Status. OpenAPI описывает успешный и ошибочный ответ как варианты одного ответа 200.Token вложенные объекты и массивы, в том числе DATA и Receipt. Password добавляется только при расчете подписи и не отправляется.SuccessURL подтверждением оплаты. Проверь уведомление или POST /v2/GetState и обязательно сравни Amount с ожидаемой суммой заказа.Token. Ответ должен быть HTTP 200 с телом OK заглавными английскими буквами; ожидание ответа — 10 секунд.OK не получен, уведомление повторяется раз в час в течение 24 часов, затем раз в сутки в течение месяца. Архив уведомлений хранится 90 дней.POST /v2/Confirm вызывается только в статусе AUTHORIZED; подтвердить карточный платеж нужно в течение 7 дней, включая день авторизации.RebillId нужно брать только из проверенного уведомления родительского платежа.DEMO; тест-кейсы с DEMO-терминалом, наоборот, отправляются на боевой URL.Если этого недостаточно — официальная документация: https://developer.tbank.ru/eacq/intro/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/t-kassa-api.md