Т‑Касса: Отменить платеж или вернуть деньги

Сценарий из mcp-everything. Актуально на 2026-10-12.

Один метод снимает холд у платежа в AUTHORIZED и возвращает уже списанные деньги у платежа в CONFIRMED. Результирующий статус зависит от исходного состояния и полноты операции.

  1. Вызови POST /v2/GetState и определи текущий статус платежа.
  2. Для полной операции вызови POST /v2/Cancel без Amount; для частичной передай сумму возврата в Amount.
  3. Если при частичной операции подключена онлайн-касса, передай в Receipt возвращаемые позиции; при полной операции Receipt не передавай.
  4. Проверь результат через уведомление или POST /v2/GetState: PARTIAL_REVERSED/REVERSED означают отмену холда, PARTIAL_REFUNDED/REFUNDED — возврат списанных денег.
curl --request POST 'https://securepay.tinkoff.ru/v2/Cancel' \
  --header 'Content-Type: application/json' \
  --data '{
    "TerminalKey": "<TerminalKey>",
    "PaymentId": "2304882",
    "Token": "<Token>"
  }'

Базовые URL

Авторизация

Тип: Другое

Для каждого подписываемого запроса передавай TerminalKey и Token в корневом JSON-объекте. TerminalKey и секретный Password находятся в личном кабинете интернет-эквайринга; Password в запрос не передается.

Чтобы получить Token, собери корневые параметры запроса, добавь к ним Password, исключи Token, вложенные объекты и массивы, отсортируй пары по имени ключа, склей только значения и вычисли SHA-256 в UTF‑8. Полученную шестнадцатеричную строку передай в Token.

Методы сценария

POST /v2/Cancel — Отменить платеж

Отменяет авторизованный платеж либо возвращает подтвержденный платеж. Без Amount выполняется полная операция; в статусе NEW значение Amount игнорируется.

Документация: https://developer.tbank.ru/eacq/api/cancel

Параметр Где Тип Обяз. Описание
TerminalKey body string да Идентификатор терминала, до 64 символов
PaymentId body string да Идентификатор платежа
Token body string да Подпись запроса
IP body string нет IP-адрес покупателя
Amount body integer нет Сумма частичной отмены или возврата в копейках
Receipt body object нет Возвращаемые позиции; обязателен при частичной операции с онлайн-кассой
QrMemberId body string нет Код банка СБП для возврата в другой банк
ExternalRequestId body string нет Ключ идемпотентности; обязателен для «Долями» и рассрочки

POST /v2/GetState — Получить статус платежа

Возвращает сумму, заказ и текущий статус конкретного платежа.

Документация: 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 нет Запросить номер телефона

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://developer.tbank.ru/eacq/intro/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/t-kassa-api.md