Сценарий из mcp-everything. Актуально на 2026-10-13.
API создаёт платёжное поручение, но не списывает деньги сам. Сотрудник с правом подписи должен перейти по Data.redirectURL и подтвердить платёж смс-кодом.
CreatePaymentForSign.Data.requestId и перенаправь сотрудника по Data.redirectURL для подписи.Paid, Canceled или Rejected.curl -L 'https://enter.tochka.com/uapi/payment/v1.0/for-sign' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{
"Data": {
"accountCode": "40702810840020002503",
"bankCode": "044525104",
"counterpartyBankBic": "044525104",
"counterpartyAccountNumber": "40702810840020002504",
"counterpartyName": "ООО \"БАЙКАЛ-СЕРВИС ТК\"",
"paymentAmount": 700.33,
"paymentDate": "2018-03-29",
"paymentPurpose": "Оплата по счету № 1 от 01.01.2021. Без НДС"
}
}'
curl -L 'https://enter.tochka.com/uapi/payment/v1.0/status/openapi-b96d770e-769f-49ce-9630-890e00d47720' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
https://enter.tochka.com/uapihttps://enter.tochka.com/sandbox/v2https://enter.tochka.com/connect/token/uapiТип: Bearer-токен
Для интеграции одной компании создай JWT-ключ в интернет-банке: «Сервисы» → «Интеграции и API» → «Создать JWT-ключ». Выбери срок и разрешения, сохрани токен и client_id, затем передавай Authorization: Bearer <jwt_token>. У JWT нет refresh-токена; после истечения срока ключ перевыпускается вручную.
Для сервиса, который работает от имени других компаний, используется OAuth 2.0: зарегистрируй приложение, получи служебный токен по client_credentials, создай consent, отправь клиента на подтверждение, обменяй code на access_token и refresh_token. code живёт 5 минут, access_token — 24 часа, refresh_token — 30 дней; при запросе данных конкретной компании дополнительно передавай её идентификатор в заголовке customerCode.
В песочнице используй Authorization: Bearer sandbox.jwt.token; отдельные ключи и доступы для неё не нужны.
Создаёт платёжное поручение в разделе «На подпись» и возвращает ссылку на его подписание. Требуется разрешение CreatePaymentForSign.
Документация: https://developers.tochka.com/docs/tochka-api/api/create-payment-for-sign-payment-v-1-0-for-sign-post
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
Data.accountCode |
body | string | да | Номер счёта отправителя, 20 символов |
Data.bankCode |
body | string | да | БИК отправителя, 9 символов |
Data.counterpartyBankBic |
body | string | да | БИК получателя, 9 символов |
Data.counterpartyAccountNumber |
body | string | да | Счёт получателя, 20 символов |
Data.counterpartyName |
body | string | да | Получатель платежа |
Data.paymentAmount |
body | number | да | Сумма платежа |
Data.paymentDate |
body | string |
да | Дата платежа по ISO 8601, приведённая к часовому поясу Москвы |
Data.paymentPurpose |
body | string | да | Назначение платежа, не более 210 символов |
Data.payerINN |
body | string | нет | Обязательно при платеже за третье лицо |
Data.payerKPP |
body | string | нет | Обязательно в указанных документацией бюджетных платежах и платежах за нерезидента |
Data.paymentPriority |
body | string | нет | Очерёдность платежа; значение по умолчанию — 5 |
Показывает этап платежа: WaitingForCreate, Created, Paid, Canceled или Rejected. Требуются разрешения CreatePaymentForSign, CreatePaymentOrder.
Документация: https://developers.tochka.com/docs/tochka-api/api/get-payment-status-payment-v-1-0-status-request-id-get
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
requestId |
path | string | да | Идентификатор запроса из ответа Create Payment For Sign |
Init Statement работает асинхронно. Созданная выписка доступна 24 часа, затем удаляется; в неё попадают только операции в финальном статусе.creditDebitIndicator: Credit означает приход, Debit — расход. Если transactionTypeCode ещё содержит мемориальный ордер, документация советует через несколько секунд сформировать выписку повторно.Get Payment Status перестаёт показывать актуальный статус и остаётся в Created.merchantId. Рабочая торговая точка должна иметь status: "REG" и isActive: true.APPROVED. Оплату цифровым рублём через API вернуть нельзя; возврат оформляется вручную в интернет-банке.Content-Type: text/plain и подписью RS256. Проверяй подпись публичным ключом https://enter.tochka.com/doc/openapi/static/keys/public до обработки данных.client_id; старые значения удаляются. Обнови ключ в интеграции и настройки вебхуков.Если этого недостаточно — официальная документация: https://developers.tochka.com/docs/tochka-api/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/tochka-bank-api.md