Отрасль: Платежи и финансы. Актуально на 2026-10-24.
Банковский API Сбера для юрлиц и ИП, подключённых к СберБизнес: информация о компании и счетах, выписки, рублёвые платёжные поручения, бизнес-карты, СБП, зарплатный проект, депозиты, валютный контроль и другие сервисы. Доступные методы определяются набором («Компаниям», «Холдингам», «Платформам», «СберБизнес ID» и др.), который закрепляется в договоре. Подключение бесплатное.
Клиент заходит через СберБизнес ID, а сервис получает токены для работы с его счетами — первый шаг любой интеграции.
curl -X POST 'https://fintech.sberbank.ru:9443/ic/sso/api/v2/oauth/token' \
--cert-type P12 --cert client.p12:<пароль сертификата> \
-H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' \
-d grant_type=authorization_code -d code=<код> \
-d client_id=<client_id> -d client_secret=<client_secret> \
--data-urlencode 'redirect_uri=https://example.ru/sber/callback'
Автоматическая сверка поступлений: остатки, обороты и все операции по расчётному счёту.
curl -G 'https://fintech.sberbank.ru:9443/fintech/api/v2/statement/transactions' \
--cert-type P12 --cert client.p12:<пароль сертификата> \
-H "Authorization: Bearer $ACCESS_TOKEN" -H 'Accept: application/json' \
-d accountNumber=40702810500006103990 -d statementDate=2026-10-23 -d page=1
Платежи поставщикам и налоги из своей учётной системы — без ручного ввода в СберБизнес.
curl -X POST 'https://fintech.sberbank.ru:9443/fintech/api/v1/payments' \
--cert-type P12 --cert client.p12:<пароль сертификата> \
-H "Authorization: Bearer $ACCESS_TOKEN" -H 'Content-Type: application/json' \
-d '{
"externalId": "a0000000-0000-0000-0000-000000001042",
"date": "2026-10-24",
"amount": 15000.00,
"operationCode": "01",
"priority": "5",
"purpose": "Оплата по счёту № 305 от 20.10.2026. В т.ч. НДС 20% - 2500.00",
"payerName": "ООО \"Ромашка\"", "payerInn": "7700000000", "payerAccount": "40702810500000000001",
"payerBankBic": "044525225", "payerBankCorrAccount": "30101810400000000225",
"payeeName": "ООО \"Поставщик\"", "payeeInn": "7800000000", "payeeAccount": "40702810600000000002",
"payeeBankBic": "044030653", "payeeBankCorrAccount": "30101810500000000653"
}'
https://fintech.sberbank.ru:9443https://fintech-test.sberbank.ru:9443https://sbi.sberbank.ru:9443/ic/sso/api/v2/oauth/authorizeТип: OAuth 2.0
Авторизация по OAuth 2.0 (authorization code flow) через СберБизнес ID. Платформа получает при подключении client_id и client_secret, перенаправляет пользователя на /ic/sso/api/v2/oauth/authorize, получает код на redirect_uri и обменивает его на access_token, refresh_token и id_token. Запросы к API передают токен в заголовке Authorization. access_token живёт 60 минут.
Дополнительно обязателен клиентский TLS-сертификат (mTLS) в формате PKCS#12 (.p12) и установленные корневые сертификаты УЦ Сбера и Минцифры России. Сертификат выпускается в личном кабинете Sber API (для песочницы — на вкладке «Песочница API»), действует 12 месяцев и только для одного clientId.
curl --location 'https://fintech-test.sberbank.ru:9443/fintech/api/v1/client-info' \
--header 'Accept: application/json' \
--header 'Authorization: {value}'
Ссылка, которую платформа открывает в браузере пользователя (хост sbi.sberbank.ru:9443). После успешной аутентификации браузер возвращается на redirect_uri с кодом авторизации. Для песочницы используется промышленный URL с параметрами песочницы.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
response_type |
query | string | да | Только code |
client_id |
query | string | да | Идентификатор платформы |
redirect_uri |
query | uri | да | Адрес возврата; сверяется по маске с указанным при подключении |
scope |
query | string | да | Набор атрибутов и операций; обязательно содержит openid |
state |
query | string | да | Защита от CSRF, не короче 36 символов (буквы и цифры) |
nonce |
query | string | нет | Связь сессии с id_token, не короче 10 символов |
code_challenge |
query | string | нет | PKCE (RFC 7636) |
code_challenge_method |
query | string | нет | Только S256; обязателен при code_challenge |
prompt |
query | string | нет | none, login, consent, select_account |
Обменивает код авторизации на access_token, refresh_token, id_token или обновляет access_token (grant_type=refresh_token).
Пример ответа (сокращён):
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
Content-Type |
header | string | да | application/x-www-form-urlencoded |
Accept |
header | string | нет | application/json (по умолчанию) или application/jose для зашифрованного ответа |
grant_type |
body | string | да | authorization_code или refresh_token |
code |
body | string | да | Код авторизации (для authorization_code) |
client_id |
body | string | да | Идентификатор платформы |
redirect_uri |
body | uri | да | Должен точно совпадать с переданным в /oauth/authorize |
client_secret |
body | string | да | Секретный ключ платформы |
code_verifier |
body | string | нет | Обязателен, если в /oauth/authorize передавался code_challenge |
Пример запроса:
{
"access_token": "BAAb16Adc851c14Ff5C73Fd57EDB5494708E6e",
"token_type": "Bearer",
"expires_in": 4801,
"refresh_token": "b89FABe82db60A13A81b160EBde2A5FfF815Dd",
"scope": "openid DICT GET_STATEMENT_ACCOUNT PAY_DOC_RU accounts inn orgKpp ...",
"id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJnb3N0MzQuMTAtMjAxMiJ9..."
}
Возвращает данные клиента в виде ID token (JWT). Набор атрибутов зависит от подключённого сервиса: accounts, email, inn, orgKpp, orgFullName и др.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
Authorization |
header | string | да | Bearer |
Расширенная информация об организации пользователя и её счетах. В scope должен быть сервис GET_CLIENT_ACCOUNTS.
Пример ответа (сокращён):
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
Authorization |
header | string | да | Access token организации-клиента |
Пример запроса:
{
"shortName": "ООО \"Сокращенное наименование\"",
"fullName": "ООО \"Полное наименование\"",
"resident": true,
"ogrn": "5186069854119",
"inn": "0102573875",
"okpo": "00040778",
"territorialBank": "Калужское отделение № 8608",
"nonClient": false,
"isCorpCardHolder": false,
"hasActiveCreditLine": true,
"creditLineAvailableSum": "348235.00"
}
Создаёт РПП. Если передать электронную подпись (digestSignatures), банк сразу начнёт обработку; без подписи поручение создаётся черновиком, который нужно подписать в интерфейсе СберБизнес. В scope должен быть сервис PAY_DOC_RU.
Дайджест для подписи (порядок полей сохраняется):
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
Authorization |
header | string | да | Access token организации-клиента |
externalId |
body | string (uuid) | да | Идентификатор документа, присвоенный партнёром |
date |
body | string (date) | да | Дата составления документа, YYYY-MM-DD |
number |
body | string | нет | Номер документа, до 8 цифр |
amount |
body | number | да | Сумма, от 0.01 |
operationCode |
body | string | да | Код операции, 01 |
priority |
body | string | да | Очерёдность платежа, 1–5 |
purpose |
body | string | да | Назначение платежа, до 210 символов |
payerName |
body | string | да | Полное наименование плательщика |
payerInn |
body | string | да | ИНН плательщика |
payerKpp |
body | string | нет | КПП плательщика |
payerAccount |
body | string | да | Счёт плательщика, 20 цифр |
payerBankBic |
body | string | да | БИК банка плательщика |
payerBankCorrAccount |
body | string | да | Корсчёт банка плательщика |
payeeName |
body | string | да | Полное наименование получателя |
payeeInn |
body | string | нет | ИНН получателя |
payeeKpp |
body | string | нет | КПП получателя |
payeeAccount |
body | string | нет | Счёт получателя |
payeeBankBic |
body | string | да | БИК банка получателя |
payeeBankCorrAccount |
body | string | нет | Корсчёт банка получателя |
urgencyCode |
body | string | нет | Код срочности: INTERNAL, INTERNAL_NOTIF, OFFHOURS, BESP, NORMAL |
deliveryKind |
body | string | нет | Вид платежа |
voCode |
body | string | нет | Код вида валютной операции |
departmentalInfo |
body | object | нет | Бюджетные реквизиты (КБК, ОКТМО, статус составителя и др.) |
vat |
body | object | нет | НДС |
incomeTypeCode |
body | string | нет | Код вида дохода по 229-ФЗ |
isPaidByCredit |
body | boolean | нет | Оплата за счёт кредитных средств |
creditContractNumber |
body | string | нет | Номер кредитного договора |
digestSignatures |
body | object[] | нет | Электронные подписи дайджеста документа |
Пример запроса:
amount=100.00
date=2018-05-31
departmentalInfo.docNumber108=123
departmentalInfo.drawerStatus101=01
departmentalInfo.kbk=18210102010011000110
departmentalInfo.oktmo=01701000
departmentalInfo.paymentKind110=НС
departmentalInfo.reasonCode106=ТП
departmentalInfo.uip=0
externalId=a0000000-0000-0000-0000-000000000001
incomeTypeCode=2
operationCode=01
payeeAccount=40702810600100001212
payeeBankBic=044525225
payeeBankCorrAccount=30101810400000000225
payeeInn=222201236445
payeeKpp=222201001
payeeName=Общество с ограниченной ответственностью "Получатель"
payerAccount=40702810500006103990
payerBankBic=044525225
payerBankCorrAccount=30101810400000000225
payerInn=222201236445
payerKpp=222201001
payerName=Общество с ограниченной ответственностью "Клиент"
priority=5
purpose=Оплата интернет заказа №123. НДС нет.
voCode=61150
creditContractNumber=2026/33556
Статус ранее созданного поручения. Доступно с любым из сервисов PAY_DOC_RU, PAY_DOC_RU_INVOICE, PAY_DOC_RU_INVOICE_ANY, PAY_DOC_RU_INVOICE_BUDGET.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
externalId |
path | string | да | Внешний UUID платёжного поручения |
Authorization |
header | string | да | Access token организации-клиента |
Пример ответа:
{
"bankStatus": "PROCESSING",
"bankComment": "Документ в обработке",
"channelInfo": "string",
"crucialFieldsHash": "12345678901234567890123456789012"
}
Выписка по рублёвому или валютному счёту за выбранную дату, постранично. Требуется сервис GET_STATEMENT_ACCOUNT.
Пример ответа (сокращён):
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
accountNumber |
query | string | да | Номер счёта, 20 цифр |
statementDate |
query | string | да | Дата выписки, yyyy-MM-dd |
page |
query | integer | да | Номер страницы, начиная с 1 |
curFormat |
query | string | нет | Формат операции по валютному счёту |
Authorization |
header | string | да | Access token организации-клиента |
Accept |
header | string | нет | application/json или application/jose |
Пример запроса:
{
"_links": [
{
"href": "?accountNumber=40702810500006103990&statementDate=2018-03-15&page=3",
"rel": "string"
}
],
"transactions": [
{
"amount": { "amount": 1.01, "currencyName": "USD" },
"amountRub": { "amount": 1.01, "currencyName": "USD" }
}
]
}
Входящие и исходящие остатки и обороты за день. Требуется сервис GET_STATEMENT_ACCOUNT.
Пример ответа (сокращён):
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
accountNumber |
query | string | да | Номер счёта, 20 цифр |
statementDate |
query | string | да | Дата выписки, yyyy-MM-dd |
Authorization |
header | string | да | Access token организации-клиента |
Пример запроса:
{
"closingBalance": { "amount": 1.01, "currencyName": "USD" },
"composedDateTime": "2022-04-04T23:59:59",
"creditTransactionsNumber": 1,
"creditTurnover": { "amount": 1.01, "currencyName": "USD" }
}
clientId свой сертификат.access_token живёт 60 минут. Использованный refresh_token остаётся резервным 2 часа; если новая пара не дошла, повторите обновление с тем же refresh_token в течение часа.scope ссылки авторизации (например PAY_DOC_RU, GET_STATEMENT_ACCOUNT, GET_CLIENT_ACCOUNTS).digestSignatures создаётся черновиком. Порядок и количество полей дайджеста для подписи менять нельзя./sber-api/llms-full.txt.| Код | Описание |
|---|---|
400 |
Некорректный запрос |
401 |
Не авторизован |
403 |
Доступ запрещён |
404 |
Не найдено |
415 |
Неподдерживаемый тип данных |
429 |
Слишком много запросов |
500 |
Внутренняя ошибка |
503 |
Сервис недоступен |
Если этого недостаточно — официальная документация: https://developers.sber.ru/docs/ru/sber-api/overview JSON: https://mcp-everything.ru/api/integrations/sberbusiness. MCP: https://mcp-everything.ru/mcp