Сценарий из mcp-everything. Актуально на 2026-10-24.
Платежи поставщикам и налоги из своей учётной системы — без ручного ввода в СберБизнес.
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}'
Создаёт РПП. Если передать электронную подпись (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"
}
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.Если этого недостаточно — официальная документация: https://developers.sber.ru/docs/ru/sber-api/overview Вся интеграция одним документом: https://mcp-everything.ru/integrations/sberbusiness.md