Точка Банк API API

Отрасль: Платежи и финансы. Актуально на 2026-10-13.

API для работы с банковскими счетами бизнеса: балансами, выписками, исходящими платежами, интернет-эквайрингом и уведомлениями. Эта запись покрывает основные цепочки от авторизации до получения результата; для каждой операции нужны соответствующие разрешения.

Охват

Есть:

Нет — смотри официальную документацию:

Сценарии

Получить остатки по всем счетам

Подходит для дашборда или сверки доступных средств. В результате приходит массив Data.Balance с отдельными элементами по счетам и типам баланса.

  1. Получи JWT с разрешением ReadBalances или OAuth-токен с этим разрешением.
  2. Запроси остатки: GET /uapi/open-banking/v1.0/balances.
  3. Для доступного остатка выбери элементы с type: "ClosingAvailable"; сумма и валюта находятся в Amount.amount и Amount.currency.
curl -L 'https://enter.tochka.com/uapi/open-banking/v1.0/balances' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

Получить выписку по счёту

Выписка формируется асинхронно. Сначала создаётся ресурс выписки, затем по statementId запрашивается статус и готовый список операций.

  1. Получи токен с разрешениями ReadAccountsBasic, ReadAccountsDetail и ReadStatements.
  2. Запроси GET /uapi/open-banking/v1.0/accounts и выбери accountId нужного счёта.
  3. Запусти формирование: POST /uapi/open-banking/v1.0/statements с Data.Statement.accountId, Data.Statement.startDateTime и Data.Statement.endDateTime.
  4. Возьми Data.Statement.statementId из ответа.
  5. Запрашивай GET /uapi/open-banking/v1.0/accounts/{accountId}/statements/{statementId}, пока Data.Statement[].status не станет Ready.
  6. Забери остатки периода и массив Data.Statement[].Transaction.
curl -L 'https://enter.tochka.com/uapi/open-banking/v1.0/statements' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -d '{
    "Data": {
      "Statement": {
        "accountId": "40817810802000000008/044525104",
        "startDateTime": "2019-01-01",
        "endDateTime": "2019-01-01"
      }
    }
  }'

curl -L 'https://enter.tochka.com/uapi/open-banking/v1.0/accounts/40817810802000000008/044525104/statements/123243234' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

Подготовить и отправить исходящий платёж

API создаёт платёжное поручение, но не списывает деньги сам. Сотрудник с правом подписи должен перейти по Data.redirectURL и подтвердить платёж смс-кодом.

  1. Получи токен с разрешением CreatePaymentForSign.
  2. Создай платёж: POST /uapi/payment/v1.0/for-sign с реквизитами отправителя, получателя, суммой, датой и назначением.
  3. Сохрани Data.requestId и перенаправь сотрудника по Data.redirectURL для подписи.
  4. Проверяй результат: GET /uapi/payment/v1.0/status/{requestId}, пока платёж не перейдёт в 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>'

Принять оплату по платёжной ссылке

Сценарий для оплаты заказа картой, через СБП, T-Pay или «Долями». Метод возвращает Data.paymentLink для покупателя и Data.operationId для контроля операции.

  1. Подключи интернет-эквайринг и получи токен с разрешениями MakeAcquiringOperation, ReadAcquiringData и ReadCustomerData.
  2. Запроси GET /uapi/open-banking/v1.0/customers и возьми customerCode из объекта с customerType: "Business".
  3. Если торговых точек несколько, запроси GET /uapi/acquiring/v1.0/retailers с customerCode и выбери merchantId точки с status: "REG" и isActive: true.
  4. Создай ссылку: POST /uapi/acquiring/v1.0/payments.
  5. Перенаправь покупателя по Data.paymentLink и сохрани Data.operationId.
  6. Дождись вебхука acquiringInternetPayment или проверь операцию: GET /uapi/acquiring/v1.0/payments/{operationId}. Успешной оплате соответствует APPROVED.
curl -L 'https://enter.tochka.com/uapi/acquiring/v1.0/payments' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -d '{
    "Data": {
      "customerCode": "300000092",
      "amount": "1234.00",
      "purpose": "Перевод за оказанные услуги",
      "redirectUrl": "https://example.com",
      "failRedirectUrl": "https://example.com/fail",
      "paymentMode": [
        "sbp",
        "card",
        "tinkoff",
        "dolyame"
      ]
    }
  }'

Вернуть оплату по платёжной ссылке

Возврат может быть полным или частичным, но доступен только для операции в статусе APPROVED. Результат запроса содержит Data.isRefund, сумму и идентификатор операции возврата.

  1. Получи токен с разрешениями ReadAcquiringData и MakeAcquiringOperation.
  2. Возьми operationId из вебхука acquiringInternetPayment или найди операцию через GET /uapi/acquiring/v1.0/payments с customerCode и датами периода.
  3. Запроси GET /uapi/acquiring/v1.0/payments/{operationId} и убедись, что статус операции — APPROVED.
  4. Выполни возврат: POST /uapi/acquiring/v1.0/payments/{operationId}/refund с суммой не больше суммы оплаты.
curl -L 'https://enter.tochka.com/uapi/acquiring/v1.0/payments/48232c9a-ce82-1593-3cb6-5c85a1ffef8f/refund' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -d '{
    "Data": {
      "amount": "1234.00"
    }
  }'

Получать уведомления о платежах

Вебхук избавляет от постоянного опроса API. Точка отправляет на заданный URL подписанную строку JWT при выбранных успешных событиях.

  1. Получи токен с разрешением ManageWebhookData и сохрани client_id.
  2. Подними HTTPS-обработчик на порту 443: он должен принимать Content-Type: text/plain, проверять подпись JWT публичным ключом Точки и возвращать HTTP 200.
  3. Подключи события: PUT /uapi/webhook/v1.0/{client_id}. При создании банк отправит по одному тестовому событию каждого выбранного типа.
  4. После проверки подписи обрабатывай incomingPayment, outgoingPayment, incomingSbpPayment, incomingSbpB2BPayment или acquiringInternetPayment.
curl -L -X PUT 'https://enter.tochka.com/uapi/webhook/v1.0/4ZY5qFuPsWdz3BfcG1RR5F4ZWOOCwLFI' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -d '{
    "webhooksList": [
      "incomingPayment"
    ],
    "url": "https://example.com"
  }'

Базовые URL

Авторизация

Тип: 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; отдельные ключи и доступы для неё не нужны.

Методы

GET /uapi/open-banking/v1.0/accounts — Get Accounts List

Возвращает список счетов и их accountId. Требуются разрешения ReadAccountsBasic, ReadAccountsDetail.

Документация: https://developers.tochka.com/docs/tochka-api/api/get-accounts-list-open-banking-v-1-0-accounts-get

GET /uapi/open-banking/v1.0/balances — Get Balances List

Возвращает остатки по всем счетам организации. Требуется разрешение ReadBalances.

Документация: https://developers.tochka.com/docs/tochka-api/api/get-balances-list-open-banking-v-1-0-balances-get

POST /uapi/open-banking/v1.0/statements — Init Statement

Асинхронно запускает формирование выписки и возвращает statementId. Требуется разрешение ReadStatements.

Документация: https://developers.tochka.com/docs/tochka-api/api/init-statement-open-banking-v-1-0-statements-post

Параметр Где Тип Обяз. Описание
Data.Statement.accountId body string да Уникальный и неизменный идентификатор счёта, не более 40 символов
Data.Statement.startDateTime body string да Дата начала выписки, ISO 8601
Data.Statement.endDateTime body string да Дата окончания выписки, ISO 8601

GET /uapi/open-banking/v1.0/accounts/{accountId}/statements/{statementId} — Get Statement

Возвращает состояние и содержимое конкретной выписки. В выписку входят только операции в финальном статусе.

Документация: https://developers.tochka.com/docs/tochka-api/api/get-statement-open-banking-v-1-0-accounts-account-id-statements-statement-id-get

Параметр Где Тип Обяз. Описание
accountId path string да Идентификатор счёта
statementId path string да Идентификатор выписки

POST /uapi/payment/v1.0/for-sign — Create Payment For Sign

Создаёт платёжное поручение в разделе «На подпись» и возвращает ссылку на его подписание. Требуется разрешение 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

GET /uapi/payment/v1.0/status/{requestId} — Get Payment Status

Показывает этап платежа: 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

GET /uapi/open-banking/v1.0/customers — Get Customers List

Возвращает доступные компании и их customerCode; для банковских операций нужен объект с customerType: "Business". Требуется разрешение ReadCustomerData.

Документация: https://developers.tochka.com/docs/tochka-api/api/get-customers-list-open-banking-v-1-0-customers-get

GET /uapi/acquiring/v1.0/retailers — Get Retailers

Возвращает торговые точки, их статус, доступные способы оплаты и merchantId. Требуется разрешение ReadAcquiringData.

Документация: https://developers.tochka.com/docs/tochka-api/api/get-retailers-acquiring-v-1-0-retailers-get

Параметр Где Тип Обяз. Описание
customerCode query string да Уникальный код клиента

POST /uapi/acquiring/v1.0/payments — Create Payment Operation

Создаёт платёжную ссылку и возвращает operationId. Требуется разрешение MakeAcquiringOperation.

Документация: https://developers.tochka.com/docs/tochka-api/api/create-payment-operation-acquiring-v-1-0-payments-post

Параметр Где Тип Обяз. Описание
Data.customerCode body string да Уникальный код клиента, 9 символов
Data.amount body number да Сумма платежа, больше 0
Data.purpose body string да Назначение платежа, не более 140 символов
Data.paymentMode body array да Способы оплаты: sbp, card, tinkoff, dolyame
Data.redirectUrl body string нет URL после оплаты
Data.failRedirectUrl body string нет URL после неуспешной оплаты
Data.merchantId body string нет Идентификатор торговой точки, 15 символов
Data.preAuthorization body boolean нет Создать платёж с двухэтапной оплатой
Data.ttl body integer нет Время жизни ссылки в минутах, от 1 до 44640; по умолчанию 10080
Data.paymentLinkId body string нет Уникальный номер заказа, не более 45 символов

GET /uapi/acquiring/v1.0/payments/{operationId} — Get Payment Operation Info

Возвращает статус, сумму, способ оплаты и данные покупателя по одной операции. Требуется разрешение ReadAcquiringData.

Документация: https://developers.tochka.com/docs/tochka-api/api/get-payment-operation-info-acquiring-v-1-0-payments-operation-id-get

Параметр Где Тип Обяз. Описание
operationId path string да Идентификатор платежа

GET /uapi/acquiring/v1.0/payments — Get Payment Operation List

Возвращает операции по платёжным ссылкам и их статусы. Требуется разрешение ReadAcquiringData; даты периода лучше передавать, чтобы не запрашивать всю историю.

Документация: https://developers.tochka.com/docs/tochka-api/api/get-payment-operation-list-acquiring-v-1-0-payments-get

Параметр Где Тип Обяз. Описание
customerCode query string да Уникальный код клиента
fromDate query string нет Начало периода создания операций
toDate query string нет Конец периода создания операций
page query integer нет Номер страницы, по умолчанию 1
perPage query integer нет Количество записей на странице, по умолчанию 1000
status query string нет Статус операции

POST /uapi/acquiring/v1.0/payments/{operationId}/refund — Refund Payment Operation

Оформляет полный или частичный возврат по платежу в статусе APPROVED. Требуется разрешение MakeAcquiringOperation.

Документация: https://developers.tochka.com/docs/tochka-api/api/refund-payment-operation-acquiring-v-1-0-payments-operation-id-refund-post

Параметр Где Тип Обяз. Описание
operationId path string да Идентификатор платежа
Data.amount body number да Сумма возврата: больше 0 и не больше суммы оплаты

PUT /uapi/webhook/v1.0/{client_id} — Create Webhook

Подключает URL и список событий для приложения. Требуется разрешение ManageWebhookData.

Документация: https://developers.tochka.com/docs/tochka-api/api/create-webhook-webhook-v-1-0-client-id-put

Параметр Где Тип Обяз. Описание
client_id path string да Уникальный идентификатор приложения
webhooksList body array да События: incomingPayment, outgoingPayment, incomingSbpPayment, acquiringInternetPayment, incomingSbpB2BPayment, customWebhook
url body string да URL для отправки вебхуков, не более 2083 символов

Нюансы

Ограничения

Источники


Если этого недостаточно — официальная документация: https://developers.tochka.com/docs/tochka-api/ JSON: https://mcp-everything.ru/api/integrations/tochka-bank-api. MCP: https://mcp-everything.ru/mcp