ym88659208ym87991671
Сервис «Моментальные платежи» | Документация для разработчиков

Сервис «Моментальные платежи»

Обновлено 5 июля 2024

Информация о сервисе

Моментальные платежи – это сервис для организации расчетов между юридическими лицами (ЮЛ) и индивидуальными предпринимателями (ИП), который позволяет формировать и отслеживать статус платежного документа в СберБизнес плательщика.

Ядро механизма сервиса составляют платежные поручения, которые используются в качестве платежных документов для расчетов между компаниями.

Платежное поручение

Платежное поручение – это документ, который используется для указания банку перевести определенную сумму денег с одного счета на другой. Обычно это делается, когда компания хочет произвести оплату за товары или услуги, перевести деньги индивидуальному предпринимателю или юридическому лицу.

Платежные поручения используются широким кругом лиц, включая индивидуальных предпринимателей, малый и средний бизнес, крупные корпорации и даже государственные учреждения. Их используют, когда нужно сделать перевод, который требует предварительного уведомления или планирования (например, оплата аренды, коммунальных услуг или выплата заработной платы).

До начала разработки интеграции с сервисом потребуется:

  • Заключить договор с Банком на использование сервиса "Моментальные платежи".
  • Завершить интеграцию со СберБизнес ID.

Без сервиса СберБизнес ID настроить работу "Моментальные платежи" невозможно.


Схема работы сервиса

Схема работы сервиса

Клиентский путь

Глазами Пользователя
ШагДействияСкрин
1Пользователь выбрал интересующий продукт и перешел к оплате.
Вы предлагаете авторизоваться через СберБизнес ID.
Авторизация
2Нажал на "Войти по СберБизнес ID" и попал на станицу аутентификации.
Аутентификация
3После успешной аутентификации СберБизнес ID предлагает подписать Согласие.
Согласие


Подписание
4Платформа создала платежное поручение и переадресовала Пользователя на него.
Платежное поручение
5Пользователь выбрал счет списания и подписал платежное поручение.
Платежное поручение подписано

Варианты реализации

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

Ниже, в качестве примера, приведена диаграмма вариантов использования:

Варианты реализации
  1. Подойдет для получения денежных средств на счет вашей компании в Сбербанке
Оплата на счет вашей компании в Сбербанке

Шаги

  1. Получить access_token
  2. Сформировать черновик платежного поручения
  3. Подписать черновик платежного поручения
  4. Проверить статус оплаты
  5. Проверить корректность платежа

Участники usecase

  • Клиент - представитель ЮЛ/ИП, который от лица своей компании приобретает услуги или товары вашей компании;
  • Платформа - любой web-ресурс (интернет-магазин, мобильное приложение и т.д.), который вы используете в рамках клиентского пути Клиентов;
  • Банк - в контексте данного usecase представляет из себя ресурсы и ресурсы Sber API, к которым обращается Платформа, и СберБизнес, на который переадресовывают Клиента для проведения оплаты.

Предусловия

  • Клиент имеет пользовательский профиль в СберБизнес своей компании с правом подписи;
  • Клиент находится на Платформе.

Постусловия

  • Проведена оплата за товары/услуги на счет вашей компании.
Оплата на счет вашей компании в Сбербанке

Используемые ресурсы

МетодТочка вызоваОписаниеОперация в scopeШаг в схеме
1Alt text/v2/oauth/authorizeПолучение кода авторизацииopenid1. Получить access_token
2Alt text/v2/oauth/tokenПолучение токена доступаopenid1. Получить access_token
3Alt text/v2/oauth/user-infoПолучение информацииopenid1. Получить access_token
4Alt text/v1/payments/from-invoiceСоздать черновик платежного поручения (отправка на свой счет в Сбербанке)PAY_DOC_RU_INVOICE2. Сформировать черновик платежного поручения
5Alt text/v1/payments/{externalId}/stateПолучить статус платежного порученияPAY_DOC_RU_INVOICE4. Проверить статус оплаты
6Alt text/v1/payments/{externalId}Получить атрибуты платежного порученияPAY_DOC_RU_INVOICE5. Проверить корректность платежа
  1. Подойдет для организации переводов, где отправитель — любая компания со счетом в Сбербанке, а получатель — любая компания со счетом в любом банке.
Расчеты B2B

Шаги

  1. Получить access_token
  2. Сформировать черновик платежного поручения
  3. Подписать черновик платежного поручения
  4. Проверить статус оплаты
  5. Проверить корректность платежа

Участники usecase

  • Клиент - представитель ЮЛ/ИП, который от лица своей компании приобретает услуги или товары (вашей или другой) компании;
  • Платформа - любой web-ресурс (интернет-магазин, мобильное приложение и т.д.), который вы используете в рамках клиентского пути Клиентов;
  • Банк - в контексте данного usecase представляет из себя ресурсы и ресурсы Sber API, к которым обращается Платформа, и СберБизнес, на который переадресовывают Клиента для проведения оплаты.

Предусловия

  • Клиент имеет пользовательский профиль в СберБизнес своей компании с правом подписи;
  • Клиент находится на Платформе.

Постусловия

  • Проведена оплата за товары/услуги на счет (вашей или другой) компании.
Расчеты B2B

Используемые ресурсы

МетодТочка вызоваОписаниеОперация в scopeШаг в схеме
1Alt text/v2/oauth/authorizeПолучение кода авторизацииopenid1. Получить access_token
2Alt text/v2/oauth/tokenПолучение токена доступаopenid1. Получить access_token
3Alt text/v2/oauth/user-infoПолучение информацииopenid1. Получить access_token
4Alt text/v1/payments/from-invoice-anyСоздать черновик платежного поручения (отправка в любой банк)PAY_DOC_RU_INVOICE_ANY2. Сформировать черновик платежного поручения
5Alt text/v1/payments/{externalId}/stateПолучить статус платежного порученияPAY_DOC_RU_INVOICE_ANY4. Проверить статус оплаты
6Alt text/v1/payments/{externalId}Получить атрибуты платежного порученияPAY_DOC_RU_INVOICE_ANY5. Проверить корректность платежа
  1. Подойдет для разработки функциональности по оплате налоговых, таможенных и других бюджетных платежей.
Платежи в бюджет

Шаги

  1. Получить реквизиты оплаты
  2. Получить access_token
  3. Сформировать черновик платежного поручения
  4. Подписать черновик платежного поручения
  5. Проверить статус оплаты
  6. Проверить корректность платежа

Участники usecase

  • Клиент - представитель ЮЛ/ИП, который от лица своей компании хочет сделать оплату в пользу бюджетной организации через Плафторму;
  • Платформа - любой web-ресурс (интернет-магазин, мобильное приложение и т.д.), который вы используете в рамках клиентского пути Клиентов;
  • Банк - в контексте данного usecase представляет из себя ресурсы и ресурсы Sber API, к которым обращается Платформа, и СберБизнес, на который переадресовывают Клиента для проведения оплаты.

Предусловия

  • Клиент имеет пользовательский профиль в СберБизнес своей компании с правом подписи;
  • Клиент находится на Платформе.

Постусловия

  • Проведена оплата в пользу бюджетной компании.
Платежи в бюджет

Используемые ресурсы

МетодТочка вызоваОписаниеОперация в scopeШаг в схеме
1Alt text/v2/oauth/authorizeПолучение кода авторизацииopenid2. Получить access_token
2Alt text/v2/oauth/tokenПолучение токена доступаopenid2. Получить access_token
3Alt text/v2/oauth/user-infoПолучение информацииopenid2. Получить access_token
4Alt text/v1/payments/from-invoice-anyСоздать черновик платежного поручения (отправка в бюджет)PAY_DOC_RU_INVOICE_BUDGET3. Сформировать черновик платежного поручения
5Alt text/v1/payments/{externalId}/stateПолучить статус платежного порученияPAY_DOC_RU_INVOICE_BUDGET5. Проверить статус оплаты
6Alt text/v1/payments/{externalId}Получить атрибуты платежного порученияPAY_DOC_RU_INVOICE_BUDGET6. Проверить корректность платежа

Переадресация на платежное поручение

Чтобы Банк начал обработку платежного поручения, платежное поручение должно быть подписано. В клиентском пути сервиса платежное поручение формируется в клиентской части СберБизнес Клиента, поэтому и подписывать платежное поручение должен Клиент.

Для реализации бесшовного перехода в клиентскую часть СберБизнес необходима переадресация Клиента. Перейдя по ссылке в сервис оплаты, клиент пройдет аутентификацию, выберет счет списания и подпишет черновик платежного поручения для его исполнения Банком.

Ссылка переадресации выглядит следующим образом:

{контур Банка}/ic/dcb/index.html#/payment-creator/{externalid}?backUrl={backUrl}

ПеременнаяОписаниеДополнительная информация
{контур Банка}адрес Банка, на который делается запрос для открытия страницы сервиса оплатыДля корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента.
В рамках запроса /v1/oauth/user-info вы получаете данные по Клиенту, в том числе атрибут userCryptoType.
Атрибут позволяет определить криптопрофиль пользователя - SMS (СМС) или Token (электронный ключ (токен)).

- Тестовый контур https://efs-sbbol-ift-web.testsbi.sberbank.ru:9443
- Промышленный контур СМС-пользователь https://sbi.sberbank.ru:9443
- Промышленный контур Токен-пользователь http://localhost:28016
{externalid}уникальный идентификатор платежного документаДанный идентификатор присваивает ваша Платформа на шаге создания черновика платежного поручения
{backUrl}страница возврата, на которую Банк вернет пользователя Клиента после успешного подписания черновика платежного поручения- backUrl нужно закодировать URLEncode;
- Если не указать backUrl в ссылке, пользователи не смогут после подписания платежного поручения вернуться на Платформу;
- Если backUrl будет отличаться от адреса вашей платформы, который указали при регистрации в Банке, то при возврате клиента на backUrl он будет видеть ошибку.

Создать черновик платежного поручения (отправка на свой счет в Сбербанке)

Alt text /v1/payments/from-invoice

Ресурс позволяет вам создавать черновики платежных поручений с фиксированным сроком действия, в которых отсутствует возможность изменить сумму оплаты и реквизиты получателя. Получение денежных средств с помощью данного ресурса возможно только на расчетный счет в Сбербанке, который принадлежит вашей организации.

Для создания черновика платежного поручения необходимо отправить POST-запрос /v1/payments/from-invoice с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами счета в теле запросе.

В параметре scope ссылки авторизации пользователя должен быть указан сервис PAY_DOC_RU_INVOICE для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/payments/from-invoice
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
BODY
Invoice {
amountnumberfloat^[0-9]+(.[0-9]+)?$requiredСумма платежа,
datestringISO 8601 YYYY-MM-DD^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$requiredДата составления документа,
deliveryKindstringstring^(электронно|срочно|0)$optionalВид платежа.
Если не заполнено или 0, то будет присвоено значение "электронно",
expirationDatestringISO 8601 YYYY-MM-DD^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$optionalДата истечения заказа (платеж должен быть подтвержден клиентом),
externalIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$requiredИдентификатор документа, присвоенный партнером,
linkedDocsArray[LinkedDoc]objectoptionalСвязанные документы,
operationCodestringstring^01$optionalКод операции,
orderNumberstringstring^[0-9]$optionalНомер заказа,
payeeAccountstringstring^[0-9]{20}$requiredСчет получателя платежа,
payeeOrgIdHashstringstring^[0-9a-f]{64}$optionalИдентификатор получателя платежа,
paymentNumberstringstring^[0-9]{1,6}$optionalНомер платежного поручения.

Если Клиент не ведет в своей учетной системе нумерацию платежных поручений, созданных на основании выставленных счетов, то атрибут можно не передавать, он будет присвоен автоматически,
prioritystringstring^[4-5]{1}$optionalОчередность платежа,
purposestringstring^[a-zA-Z0-9._ -]{1,210}$requiredНазначение платежа.

Рекомендации по заполнению,
urgencyCodestringstring^(INTERTAL|INTERNAL_NOTIF|OFFHOUR|BESP|NORMAL)$optionalКод срочности.

INTERNAL - срочный
INTERNAL_NOTIF - срочный платеж с уведомлением
OFFHOUR - неотложный
BESP - банковские электронные срочные платежи
NORMAL - срочность не указана,
vatArray[Vat]objectrequiredДанные НДС
}
LinkedDoc [
{
docExtIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$optionalИдентификатор документа (заявления на страхование экспортного контракта) во внешней системе (UUID), к которому необходимо привязать платежное поручение,
typestringstring^(ExportContractInsure)$optionalТип связанного документа (доступное значение для заполнения - exportContractInsure), с которым необходимо связать платежное поручение
}
]
Vat {
amountnumberfloat^[0-9]+(.[0-9]+)?$optionalСумма НДС,
ratestringstring^[0-9]{0,2}$optionalСтавка НДС,
typestringstring^(INCLUDED|NO_VAT|MANUAL)$requiredСпособ расчета НДС.

INCLUDED - НДС включен в сумму платежа
NO_VAT - не облагается НДС
MANUAL - ручной ввод НДС
}

Responses

201 (Created)
НаименованиеТипОбязательностьОписание
Payment {
   amountnumberrequiredСумма платежа,
   bankCommentstringoptionalБанковский комментарий к статусу документа,
   bankStatusstringoptionalСтатус документа,
   crucialFieldsHashstringoptionalHash от ключевых полей документа,
   datestringrequiredДата составления документа,
   deliveryKindstringoptionalВид платежа,
   departmentalInfoArray[DepartmentalInfo]optionalРеквизиты налогового, таможенного или иного бюджетного платежа,
   digestSignaturesArray[Signature]optionalЭлектронные подписи по дайджесту документа,
   externalIdstringrequiredИдентификатор документа, присвоенный партнером,
   incomeTypeCodestringoptionalКод вида дохода получателей выплаты по 229-ФЗ,
   numberstringoptionalНомер документа,
   operationCodestringrequiredКод операции,
   payeeAccountstringoptionalСчет получателя платежа,
   payeeBankBicstringrequiredБИК получателя платежа,
   payeeBankCorrAccountstringoptionalКорсчет банка получателя платежа,
   payeeInnstringoptionalИНН получателя платежа,
   payeeKppstringoptionalКПП получателя платежа,
   payeeNamestringrequiredПолное наименование получателя платежа,
   payerAccountstringrequiredСчет плательщика,
   payerBankBicstringrequiredБИК банка плательщика,
   payerBankCorrAccountstringrequiredКорсчет банка плательщика,
   payerInnstringrequiredИНН плательщика,
   payerKppstringoptionalКПП плательщика,
   payerNamestringrequiredПолное наименование плательщика,
   prioritystringrequiredОчередность платежа,
   purposestringrequiredНазначение платежа,
   urgencyCodestringoptionalКод срочности,
   vatvatoptionalДанные НДС,
   voCodestringoptionalКод вида валютной операции
}
DepartmentalInfo {
   uipstringrequiredУникальный идентификатор платежа,
   drawerStatus101stringrequiredПоказатель статуса налогоплательщика (реквизит - 101),
   kbkstringrequiredКод бюджетной классификации (реквизит - 104),
   oktmostringrequiredКод OKTMO (реквизит - 105),
   reasonCode106stringrequiredПоказатель основания платежа (реквизит - 106),
   taxPeriod107stringrequiredНалоговый период / код таможенного органа (реквизит - 107),
   docNumber108stringrequiredНомер налогового документа (реквизит - 108),
   docDate109stringrequiredДата налогового документа (реквизит - 109),
   paymentKind110stringoptionalТип налогового платежа (реквизит - 110)
}
Signature [
{
   base64EncodedstringrequiredЗначение электронной подписи, закодированное в Base64,
   certificateUuidstringrequiredУникальный идентификатор сертификата ключа проверки электронной подписи (UUID),
}
]
Vat {
   amountnumberoptionalСумма НДС,
   ratestringoptionalСтавка НДС,
   typestringrequiredСпособ расчета НДС
}
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос.
WORKFLOW_FAULTНе найдена организация получателя по payeeOrgIdHash: <значение payeeOrgIdHash>Проверьте корректность поля payeeOrgIdHash. Также можно в повторном запросе не указывать данное поле - оно не обязательное.
Невозможно идентифицировать организацию плательщикаПроверьте корректность указанных реквизитов плательщика.
Документ с таким externalId уже существует в системеИспользуется externalId, который уже есть в системе (дубль). Сгенерируйте новый externalId и повторите запрос.
Отсутствует доступный открытый рублевый расчетный счет у организации плательщикаПлательщику требуется открыть рублевый расчетный счет в Сбербанке.
Неизвестный счет получателя: <счет получателя платежа>Проверьте корректность указанного счета в атрибуте payeeAccount. Счет должен принадлежать вашей организации.
VALIDATION_FAULTОшибка валидацииДанные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.
НаименованиеТипОбязательностьОписание
ResourceFault {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
checksArray[Check]optionalСписок проверок, приведших к ошибке,
fieldNamesArray[string]optionalНазвания полей с некорректным значением (только для VALIDATION_FAULT)
}
Check [
{
levelstringoptionalУровень результата = ['ERROR', 'WARNING'],
messagestringoptionalСообщение,
fieldsArray[string]optionalНазвания полей (при наличии связи с моделью)
}
]
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция PAY_DOC_RU_INVOICE. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
503 (Service Temporarily Unavailable)
CauseMessageDescription
UNAVAILABLE_RESOURCE_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}

Создать черновик платежного поручения (отправка в любой банк)

Alt text /v1/payments/from-invoice-any

Ресурс позволяет вам создавать черновики платежных поручений по свободным реквизитам. Получение денежных средств возможно на счета сторонних банков. В качестве получателя денежных средств может выступать любая организация.

Для создания черновика платежного поручения необходимо отправить POST-запрос /v1/payments/from-invoice-any с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами счета в теле запросе.

В параметре scope ссылки авторизации пользователя должен быть указан сервис PAY_DOC_RU_INVOICE_ANY для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/payments/from-invoice-any
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
BODY
Invoice {
amountnumberfloat^[0-9]+(.[0-9]+)?$requiredСумма платежа,
creditContractNumberstringstring^[0-9]$optionalНомер кредитного договора,
datestringISO 8601 YYYY-MM-DD^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$requiredДата составления документа,
deliveryKindstringstring^(электронно|срочно|0)$optionalВид платежа.
Если не заполнено или 0, то будет присвоено значение "электронно",
expirationDatestringISO 8601 YYYY-MM-DD^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$optionalДата истечения заказа (платеж должен быть подтвержден клиентом),
externalIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$requiredИдентификатор документа, присвоенный партнером,
isPaidByCreditbooleanboolean^(true|false)$optionalПризнак того, что платежное поручение будет оплачено за счет кредитных средств,
linkedDocsArray[LinkedDoc]objectoptionalСвязанные документы,
operationCodestringstring^01$optionalКод операции,
orderNumberstringstring^[0-9]$optionalНомер заказа,
payeeAccountstringstring^[0-9]{20}$requiredСчет получателя платежа,
payeeBankBicstringstring^[0-9]{9}$requiredБИК банка получателя платежа,
payeeBankCorrAccountstringstring^[0-9]{20}$optionalКор. счет банка получателя платежа,
payeeInnstringstring^([0-9]{5}|[0-9]{10}|[0-9]{12}|0)$requiredИНН получателя платежа,
payeeKppstringstring^([0-9]{9}|0)$optionalКПП получателя платежа,
payeeNamestringstring^[0-9a-zA-Zа-яА-ЯеЁ \t]+$requiredНаименование получателя платежа,
paymentNumberstringstring^[0-9]{1,6}$optionalНомер платежного поручения.

Если Клиент не ведет в своей учетной системе нумерацию платежных поручений, созданных на основании выставленных счетов, то атрибут можно не передавать, он будет присвоен автоматически,
prioritystringstring^[4-5]{1}$optionalОчередность платежа,
purposestringstring^[a-zA-Z0-9._ -]{1,210}$required.

Рекомендации по заполнению,
urgencyCodestringstring^(INTERTAL|INTERNAL_NOTIF|OFFHOUR|BESP|NORMAL)$optionalКод срочности.

INTERNAL - срочный
INTERNAL_NOTIF - срочный платеж с уведомлением
OFFHOUR - неотложный
BESP - банковские электронные срочные платежи
NORMAL - срочность не указана,
vatArray[Vat]objectrequiredДанные НДС
}
LinkedDoc [
{
docExtIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$optionalИдентификатор документа (заявления на страхование экспортного контракта) во внешней системе (UUID), к которому необходимо привязать платежное поручение,
typestringstring^(ExportContractInsure)$optionalТип связанного документа (доступное значение для заполнения - exportContractInsure), с которым необходимо связать платежное поручение
}
]
Vat {
amountnumberfloat^[0-9]+(.[0-9]+)?$optionalСумма НДС,
ratestringstring^[0-9]{0,2}$optionalСтавка НДС,
typestringstring^(INCLUDED|NO_VAT|MANUAL)$requiredСпособ расчета НДС.

INCLUDED - НДС включен в сумму платежа
NO_VAT - не облагается НДС
MANUAL - ручной ввод НДС
}

Responses

201 (Created)
НаименованиеТипОбязательностьОписание
Payment {
   amountnumberrequiredСумма платежа,
   bankCommentstringoptionalБанковский комментарий к статусу документа,
   bankStatusstringoptionalСтатус документа,
   crucialFieldsHashstringoptionalHash от ключевых полей документа,
   datestringrequiredДата составления документа,
   deliveryKindstringoptionalВид платежа,
   departmentalInfoArray[DepartmentalInfo]optionalРеквизиты налогового, таможенного или иного бюджетного платежа,
   digestSignaturesArray[Signature]optionalЭлектронные подписи по дайджесту документа,
   externalIdstringrequiredИдентификатор документа, присвоенный партнером,
   incomeTypeCodestringoptionalКод вида дохода получателей выплаты по 229-ФЗ,
   numberstringoptionalНомер документа,
   operationCodestringrequiredКод операции,
   payeeAccountstringoptionalСчет получателя платежа,
   payeeBankBicstringrequiredБИК получателя платежа,
   payeeBankCorrAccountstringoptionalКорсчет банка получателя платежа,
   payeeInnstringoptionalИНН получателя платежа,
   payeeKppstringoptionalКПП получателя платежа,
   payeeNamestringrequiredПолное наименование получателя платежа,
   payerAccountstringrequiredСчет плательщика,
   payerBankBicstringrequiredБИК банка плательщика,
   payerBankCorrAccountstringrequiredКорсчет банка плательщика,
   payerInnstringrequiredИНН плательщика,
   payerKppstringoptionalКПП плательщика,
   payerNamestringrequiredПолное наименование плательщика,
   prioritystringrequiredОчередность платежа,
   purposestringrequiredНазначение платежа,
   urgencyCodestringoptionalКод срочности,
   vatvatoptionalДанные НДС,
   voCodestringoptionalКод вида валютной операции
}
DepartmentalInfo {
   uipstringrequiredУникальный идентификатор платежа,
   drawerStatus101stringrequiredПоказатель статуса налогоплательщика (реквизит - 101),
   kbkstringrequiredКод бюджетной классификации (реквизит - 104),
   oktmostringrequiredКод OKTMO (реквизит - 105),
   reasonCode106stringrequiredПоказатель основания платежа (реквизит - 106),
   taxPeriod107stringrequiredНалоговый период / код таможенного органа (реквизит - 107),
   docNumber108stringrequiredНомер налогового документа (реквизит - 108),
   docDate109stringrequiredДата налогового документа (реквизит - 109),
   paymentKind110stringoptionalТип налогового платежа (реквизит - 110)
}
Signature [
{
   base64EncodedstringrequiredЗначение электронной подписи, закодированное в Base64,
   certificateUuidstringrequiredУникальный идентификатор сертификата ключа проверки электронной подписи (UUID),
}
]
Vat {
   amountnumberoptionalСумма НДС,
   ratestringoptionalСтавка НДС,
   typestringrequiredСпособ расчета НДС
}
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request ресурса. Скорректируйте заполнение атрибутов и повторите запрос.
WORKFLOW_FAULTНевозможно идентифицировать организацию плательщикаПроверьте корректность указанных реквизитов плательщика.
Невозможно идентифицировать банк получателя по указанным номеру БИК и корреспондентскому счетуПроверьте корректность указанных реквизитов получателя платежа - атрибуты payeeBankBic и payeeBankCorrAccount
Документ с таким externalId уже существует в системеИспользуется externalId, который уже есть в системе (дубль). Сгенерируйте новый externalId и повторите запрос.
Отсутствует доступный открытый рублевый расчетный счет у организации плательщикаПлательщику требуется открыть рублевый расчетный счет в Сбербанке.
VALIDATION_FAULTОшибка валидацииДанные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request ресурса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.
НаименованиеТипОбязательностьОписание
ResourceFault {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
checksArray[Check]optionalСписок проверок, приведших к ошибке,
fieldNamesArray[string]optionalНазвания полей с некорректным значением (только для VALIDATION_FAULT)
}
Check [
{
levelstringoptionalУровень результата = ['ERROR', 'WARNING'],
messagestringoptionalСообщение,
fieldsArray[string]optionalНазвания полей (при наличии связи с моделью)
}
]
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция PAY_DOC_RU_INVOICE_ANY. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
503 (Service Temporarily Unavailable)
CauseMessageDescription
UNAVAILABLE_RESOURCE_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}

Создать черновик платежного поручения (отправка в бюджет)

Alt text /v1/payments/from-invoice-budget

Ресурс позволяет вам создавать черновики платежных поручений в адрес бюджетных организаций со счетом в любом банке для оплаты налоговых, таможенных и других бюджетных платежей.

Для создания черновика платежного поручения необходимо отправить POST-запрос /v1/payments/from-invoice-budget с токеном доступа (access_token) пользователя в параметре Authorization заголовка и реквизитами счета в теле запросе.

В параметре scope ссылки авторизации пользователя должен быть указан сервис PAY_DOC_RU_INVOICE_BUDGET для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/payments/from-invoice-budget
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
BODY
Invoice {
amountnumberfloat^[0-9]+(.[0-9]+)?$requiredСумма платежа,
datestringISO 8601 YYYY-MM-DD^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$requiredДата составления документа,
deliveryKindstringstring^(электронно|срочно|0)$optionalВид платежа.
Если не заполнено или 0, то будет присвоено значение "электронно",
departmentalInfoArray[DepartmentalInfo]objectrequiredРеквизиты налогового, таможенного или иного
бюджетного платежа,
externalIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$requiredИдентификатор документа, присвоенный партнером,
linkedDocsArray[LinkedDoc]objectoptionalСвязанные документы,
operationCodestringstring^01$optionalКод операции,
payeeAccountstringstring^[0-9]{20}$requiredСчет получателя платежа,
payeeBankBicstringstring^[0-9]{9}$requiredБИК банка получателя платежа,
payeeBankCorrAccountstringstring^[0-9]{20}$optionalКор. счет банка получателя платежа,
payeeInnstringstring^([0-9]{5}|[0-9]{10}|[0-9]{12}|0)$requiredИНН получателя платежа,
payeeKppstringstring^([0-9]{9}|0)$optionalКПП получателя платежа,
payeeNamestringstring^[0-9a-zA-Zа-яА-ЯеЁ \t]+$requiredНаименование получателя платежа,
paymentNumberstringstring^[0-9]{1,6}$optionalНомер платежного поручения.

Если Клиент не ведет в своей учетной системе нумерацию платежных поручений, созданных на основании выставленных счетов, то атрибут можно не передавать, он будет присвоен автоматически,
prioritystringstring^[4-5]{1}$optionalОчередность платежа,
purposestringstring^[a-zA-Z0-9._ -]{1,210}$requiredНазначение платежа.

Рекомендации по заполнению,
urgencyCodestringstring^(INTERTAL|INTERNAL_NOTIF|OFFHOUR|BESP|NORMAL)$optionalКод срочности.

INTERNAL - срочный
INTERNAL_NOTIF - срочный платеж с уведомлением
OFFHOUR - неотложный
BESP - банковские электронные срочные платежи
NORMAL - срочность не указана,
vatArray[Vat]objectrequiredДанные НДС
}
DepartmentalInfo {
uipstringstring^[A-Za-z0-9]{1,25}$requiredУникальный идентификатор платежа,
drawerStatus101stringstring^[01|02|08|13]+$requiredПоказатель статуса налогоплательщика (реквизит - 101),
kbkstringstring^[A-Za-z0-9]{1,20}$requiredКод бюджетной классификации (реквизит - 104),
oktmostringstring^[A-Za-z0-9]{1,11}$requiredКод OKTMO (реквизит - 105),
reasonCode106stringstring^[0-9]{1,2}$requiredПоказатель основания платежа (реквизит - 106),
taxPeriod107stringstring^(0|[0-9]{8}|([0-9]{2}|МС|КВ|ПЛ|ГД).[0-9]{2}.[0-9]{4})$requiredНалоговый период / код таможенного органа (реквизит - 107),
docNumber108stringstring^[0-9]{1,15}$requiredНомер налогового документа (реквизит - 108),
docDate109stringstring^(0|00|[0-9]{2}.[0-9]{2}.[0-9]{4})$requiredДата налогового документа (реквизит - 109),
paymentKind110stringstring^[0-9]{1,2}$optionalТип налогового платежа (реквизит - 110)
}
LinkedDoc [
{
docExtIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$optionalИдентификатор документа (заявления на страхование экспортного контракта) во внешней системе (UUID), к которому необходимо привязать платежное поручение,
typestringstring^(ExportContractInsure)$optionalТип связанного документа (доступное значение для заполнения - exportContractInsure), с которым необходимо связать платежное поручение
}
]
Vat {
amountnumberfloat^[0-9]+(.[0-9]+)?$optionalСумма НДС,
ratestringstring^[0-9]{0,2}$optionalСтавка НДС,
typestringstring^(INCLUDED|NO_VAT|MANUAL)$requiredСпособ расчета НДС.

INCLUDED - НДС включен в сумму платежа
NO_VAT - не облагается НДС
MANUAL - ручной ввод НДС
}

Responses

201 (Created)
НаименованиеТипОбязательностьОписание
Payment {
   amountnumberrequiredСумма платежа,
   bankCommentstringoptionalБанковский комментарий к статусу документа,
   bankStatusstringoptionalСтатус документа,
   crucialFieldsHashstringoptionalHash от ключевых полей документа,
   datestringrequiredДата составления документа,
   deliveryKindstringoptionalВид платежа,
   departmentalInfoArray[DepartmentalInfo]optionalРеквизиты налогового, таможенного или иного бюджетного платежа,
   digestSignaturesArray[Signature]optionalЭлектронные подписи по дайджесту документа,
   externalIdstringrequiredИдентификатор документа, присвоенный партнером,
   incomeTypeCodestringoptionalКод вида дохода получателей выплаты по 229-ФЗ,
   numberstringoptionalНомер документа,
   operationCodestringrequiredКод операции,
   payeeAccountstringoptionalСчет получателя платежа,
   payeeBankBicstringrequiredБИК получателя платежа,
   payeeBankCorrAccountstringoptionalКорсчет банка получателя платежа,
   payeeInnstringoptionalИНН получателя платежа,
   payeeKppstringoptionalКПП получателя платежа,
   payeeNamestringrequiredПолное наименование получателя платежа,
   payerAccountstringrequiredСчет плательщика,
   payerBankBicstringrequiredБИК банка плательщика,
   payerBankCorrAccountstringrequiredКорсчет банка плательщика,
   payerInnstringrequiredИНН плательщика,
   payerKppstringoptionalКПП плательщика,
   payerNamestringrequiredПолное наименование плательщика,
   prioritystringrequiredОчередность платежа,
   purposestringrequiredНазначение платежа,
   urgencyCodestringoptionalКод срочности,
   vatvatoptionalДанные НДС,
   voCodestringoptionalКод вида валютной операции
}
DepartmentalInfo {
   uipstringrequiredУникальный идентификатор платежа,
   drawerStatus101stringrequiredПоказатель статуса налогоплательщика (реквизит - 101),
   kbkstringrequiredКод бюджетной классификации (реквизит - 104),
   oktmostringrequiredКод OKTMO (реквизит - 105),
   reasonCode106stringrequiredПоказатель основания платежа (реквизит - 106),
   taxPeriod107stringrequiredНалоговый период / код таможенного органа (реквизит - 107),
   docNumber108stringrequiredНомер налогового документа (реквизит - 108),
   docDate109stringrequiredДата налогового документа (реквизит - 109),
   paymentKind110stringoptionalТип налогового платежа (реквизит - 110)
}
Signature [
{
   base64EncodedstringrequiredЗначение электронной подписи, закодированное в Base64,
   certificateUuidstringrequiredУникальный идентификатор сертификата ключа проверки электронной подписи (UUID),
}
]
Vat {
   amountnumberoptionalСумма НДС,
   ratestringoptionalСтавка НДС,
   typestringrequiredСпособ расчета НДС
}
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос.
WORKFLOW_FAULTНевозможно идентифицировать организацию плательщикаПроверьте корректность указанных реквизитов плательщика.
Невозможно идентифицировать банк получателя по указанным номеру БИК и корреспондентскому счетуПроверьте корректность указанных реквизитов получателя платежа - атрибуты payeeBankBic и payeeBankCorrAccount
Документ с таким externalId уже существует в системеИспользуется externalId, который уже есть в системе (дубль). Сгенерируйте новый externalId и повторите запрос.
Отсутствует доступный открытый рублевый расчетный счет у организации плательщикаПлательщику требуется открыть рублевый расчетный счет в Сбербанке.
VALIDATION_FAULTОшибка валидацииДанные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.
НаименованиеТипОбязательностьОписание
ResourceFault {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
checksArray[Check]optionalСписок проверок, приведших к ошибке,
fieldNamesArray[string]optionalНазвания полей с некорректным значением (только для VALIDATION_FAULT)
}
Check [
{
levelstringoptionalУровень результата = ['ERROR', 'WARNING'],
messagestringoptionalСообщение,
fieldsArray[string]optionalНазвания полей (при наличии связи с моделью)
}
]
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция PAY_DOC_RU_INVOICE_BUDGET. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
503 (Service Temporarily Unavailable)
CauseMessageDescription
UNAVAILABLE_RESOURCE_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}

Получить статус платежного поручения

Alt text /v1/payments/{externalId}

Ресурс позволяет вам получить статус ранее сформированного черновика платежного поручения. В случае, если у Клиента отключена/истек срок соглашения услуги на формирование платежных поручений, вы все равно сможете получить статус готовых документов.

Для получения статуса необходимо отправить GET-запрос /v1/payments/{externalId}/state с токеном доступа (access_token) пользователя в параметре Authorization заголовка и идентификатор документа (externalId) в querry-параметре запроса.

В параметре scope ссылки авторизации пользователя для получения доступа к этому ресурсу должен быть указан один из сервисов:

  • PAY_DOC_RU
  • PAY_DOC_RU_INVOICE
  • PAY_DOC_RU_INVOICE_ANY
  • PAY_DOC_RU_INVOICE_BUDGET

Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/payments/{externalId}/state
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
PATH PARAMETERS
externalIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$requiredИдентификатор документа, присвоенный вами при создании счета

Responses

200 (ОК)
НаименованиеТипОбязательностьОписание
PaymentDocState {
bankCommentstringoptionalБанковский комментарий к статусу документа,
bankStatusstringoptionalСтатус документа,
channelInfostringoptionalКомментарий, специфичный для документа, полученного по данному каналу,
crucialFieldsHashstringoptionalHash от ключевых полей документа
}
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос.
VALIDATION_FAULTОшибка валидацииДанные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.
НаименованиеТипОбязательностьОписание
ResourceFault {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
checksArray[Check]optionalСписок проверок, приведших к ошибке,
fieldNamesArray[string]optionalНазвания полей с некорректным значением (только для VALIDATION_FAULT)
}
Check [
{
levelstringoptionalУровень результата = ['ERROR', 'WARNING'],
messagestringoptionalСообщение,
fieldsArray[string]optionalНазвания полей (при наличии связи с моделью)
}
]
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана ни одна из операций по работе с платежными поручениями (PAY_DOC_RU, PAY_DOC_RU_INVOICE, PAY_DOC_RU_INVOICE_ANY или PAY_DOC_RU_INVOICE_BUDGET). Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
404 (Not found)
CauseMessageDescription
NOT_FOUNDДокумент с указанным ID не найден
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
503 (Service Temporarily Unavailable)
CauseMessageDescription
UNAVAILABLE_RESOURCE_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}

Статусы платежных поручений

bankStatus (string)
Код состояние документаНаименование статусаНазначение кода состояния
Промежуточный/Продолжать опрашивать
ACCEPTEDПринятЭлектронный документ принят на стороне Банка
ACCEPTED_BY_ABSПринят АБС или
Принят
Электронный документ был принят к обработке в АБС Банка
CARD2Картотека 2 или
Ожидает оплаты
АБС обнаружено, что на счете плательщика недостаточно средств для иcполнения документа
CREATEDСозданДокумент записан в БД, проверки не выполнялись
CHECKERRORОшибка контроляЭД сформирован, но при сохранении не прошел проверку корректности заполнения полей и сохранен с имеющимися в нем ошибками
DELAYEDПриостановленОбработка электронного документа была приостановлена
DELIVEREDДоставленЗапрос доставлен в ДБО и взят в обработку
DELIVERED_RZKДоставлен в СБКЭлектронный документ отправлен в СБК и получен квиток о доставке
FRAUDALLOWОдобрен ФРОДПроверка во ФРОДЕ прошла успешно, переход на «Принят»
FRAUDDENYОтвергнут ФРОДДокумент отказан на основе проверки в АС Fraud-мониторинг, переходим в «Отвергнут банком»
FRAUDREVIEWНа проверке у специалиста БанкаСо стороны ФРОД-анализа получен статус документа «На проверке у специалиста Банка»
FRAUDSENTОтправлен во ФРОДДокумент отправлен на проверку в АС Fraud-мониторинг
FRAUDSMSТребуется подтверждение sms-паролемСо стороны ФРОД-анализа получен статус документа «Требуется подтверждение sms-паролем»
NOT_ACCEPTED_RZKНе принят СБКЭлектронный документ не прошел логические контроли СБК
PARTSIGNEDЧастично подписанЭД подписан частью подписей, входящих в предусмотренный для данного документа комплект подписей
PROCESSING_RZKОбрабатывается СБКЭД успешно прошел проверки ЭП и логические проверки СБК
REQUESTED_RECALLЗапрошен отзывДокумент отозван
RZK_SIGN_ERRORОшибка ЭП СБКПроверка подписи под ЭД на стороне СБК дала отрицательный результат
SENDING_TO_RZKОтправляется в СБКЭлектронный документ отправлен в СБК, но не получен квиток о доставке
SIGNEDПодписанЭД подписан предусмотренным для него комплектом подписей.
TO_PROCESSING_RZKК отправке в СБКЭД подписан предусмотренным для него комплектом о доставке
Окончательный (Не успешный)/Прекратить опрос
DELETEDУдаленЭлектронный документа удален из числа действующих документов
INVALIDEDSЭП/АСП не верна
Подпись неверна
Проверка ЭП под ЭД на стороне Банка дала отрицательный результат
RECALLОтозванЭлектронный документ был отозван Клиентом по запросу
REFUSEDBYBANKОтвергнут банком или
Отклонен банком
Электронный документ отвергнут банком
REFUSEDBYABSОтказан АБСЭлектронный документ не прошел проверки в АБС
REQUISITEERRORОшибка реквизитовВ ЭД указаны ошибочные реквизиты
REFUSED_BY_RZKОтказан контролирующей организациейЭлектронный документ не прошел проверки контролирующей организацией
Окончательный (Успешный)/Прекратить опрос
IMPLEMENTEDИсполненЭлектронный документ исполнен Банком

Получить атрибуты поручения

Alt text /v1/payments{externalId}

Ресурс позволяет вам получить атрибуты ранее сформированного черновика платежного поручения.

Для получения атрибутов платежного поручения необходимо отправить GET-запрос /v1/payments/{externalId} с токеном доступа (access_token) пользователя в параметре Authorization заголовка и идентификатор документа (externalId) в querry-параметре запроса.

В параметре scope ссылки авторизации пользователя для получения доступа к этому ресурсу должен быть указан один из сервисов:

  • PAY_DOC_RU
  • PAY_DOC_RU_INVOICE
  • PAY_DOC_RU_INVOICE_ANY
  • PAY_DOC_RU_INVOICE_BUDGET

Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/payments/{externalId}
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
PATH PARAMETERS
externalIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$requiredИдентификатор документа, присвоенный вами при создании счета

Responses

200 (ОК)
НаименованиеТипОбязательностьОписание
Payment {
   amountnumberrequiredСумма платежа,
   bankCommentstringoptionalБанковский комментарий к статусу документа,
   bankStatusstringoptionalСтатус документа,
   crucialFieldsHashstringoptionalHash от ключевых полей документа,
   datestringrequiredДата составления документа,
   deliveryKindstringoptionalВид платежа,
   departmentalInfoArray[DepartmentalInfo]optionalРеквизиты налогового, таможенного или иного бюджетного платежа,
   digestSignaturesArray[Signature]optionalЭлектронные подписи по дайджесту документа,
   externalIdstringrequiredИдентификатор документа, присвоенный партнером,
   incomeTypeCodestringoptionalКод вида дохода получателей выплаты по 229-ФЗ,
   numberstringoptionalНомер документа,
   operationCodestringrequiredКод операции,
   payeeAccountstringoptionalСчет получателя платежа,
   payeeBankBicstringrequiredБИК получателя платежа,
   payeeBankCorrAccountstringoptionalКорсчет банка получателя платежа,
   payeeInnstringoptionalИНН получателя платежа,
   payeeKppstringoptionalКПП получателя платежа,
   payeeNamestringrequiredПолное наименование получателя платежа,
   payerAccountstringrequiredСчет плательщика,
   payerBankBicstringrequiredБИК банка плательщика,
   payerBankCorrAccountstringrequiredКорсчет банка плательщика,
   payerInnstringrequiredИНН плательщика,
   payerKppstringoptionalКПП плательщика,
   payerNamestringrequiredПолное наименование плательщика,
   prioritystringrequiredОчередность платежа,
   purposestringrequiredНазначение платежа,
   urgencyCodestringoptionalКод срочности,
   vatvatoptionalДанные НДС,
   voCodestringoptionalКод вида валютной операции
}
DepartmentalInfo {
   uipstringrequiredУникальный идентификатор платежа,
   drawerStatus101stringrequiredПоказатель статуса налогоплательщика (реквизит - 101),
   kbkstringrequiredКод бюджетной классификации (реквизит - 104),
   oktmostringrequiredКод OKTMO (реквизит - 105),
   reasonCode106stringrequiredПоказатель основания платежа (реквизит - 106),
   taxPeriod107stringrequiredНалоговый период / код таможенного органа (реквизит - 107),
   docNumber108stringrequiredНомер налогового документа (реквизит - 108),
   docDate109stringrequiredДата налогового документа (реквизит - 109),
   paymentKind110stringoptionalТип налогового платежа (реквизит - 110)
}
Signature [
{
   base64EncodedstringrequiredЗначение электронной подписи, закодированное в Base64,
   certificateUuidstringrequiredУникальный идентификатор сертификата ключа проверки электронной подписи (UUID),
}
]
Vat {
   amountnumberoptionalСумма НДС,
   ratestringoptionalСтавка НДС,
   typestringrequiredСпособ расчета НДС
}
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request запроса. Скорректируйте заполнение атрибутов и повторите запрос.
VALIDATION_FAULTОшибка валидацииДанные не соответствуют требованиям валидации. Сведения о некорректных атрибутах request содержатся в массивах fieldNames и checks. Подробные требования к атрибутам описаны в request запроса, включая типы, форматы и регулярные выражения. Необходимо скорректировать заполнение атрибутов и повторить запрос.
НаименованиеТипОбязательностьОписание
ResourceFault {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
checksArray[Check]optionalСписок проверок, приведших к ошибке,
fieldNamesArray[string]optionalНазвания полей с некорректным значением (только для VALIDATION_FAULT)
}
Check [
{
levelstringoptionalУровень результата = ['ERROR', 'WARNING'],
messagestringoptionalСообщение,
fieldsArray[string]optionalНазвания полей (при наличии связи с моделью)
}
]
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.
В ссылке авторизации СберБизнес ID, в параметре scope, не указана ни одна из операций по работе с платежными поручениями (PAY_DOC_RU, PAY_DOC_RU_INVOICE, PAY_DOC_RU_INVOICE_ANY или PAY_DOC_RU_INVOICE_BUDGET). Необходимо добавить одному или несколько операций в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
Вы использовали access_token пользователя вашей организации, а не Клиента. Нужно использовать access_token пользователя Клиента.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
404 (Not found)
CauseMessageDescription
NOT_FOUNDДокумент с указанным ID не найден
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}
503 (Service Temporarily Unavailable)
CauseMessageDescription
UNAVAILABLE_RESOURCE_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
causestringoptionalПричина или основание сообщения,
referenceIdstringoptionalУникальный идентификатор ошибки (UUID),
messagestringoptionalСообщение,
}

Дополнительная информация

Назначение платежа

Назначение должно раскрывать экономический смысл платежа.

  • Сведения должны быть лаконичными — у поля есть ограничения по знакам 210 символов.
  • В назначении необходимо указать реквизиты документа, по которому вы осуществляете платеж, например, номер договора или счета.
  • Рекомендуем указывать конкретный предмет оплаты.
  • Если платеж с НДС, необходимо прописать точную сумму налога.
    Ниже подробнее рассказали о формировании информации об НДС в назначении платежа.

Рекомендуемый вариант заполнения:

Оплата по договору [номер договора] от [дата договора]. НДС [ставка НДС]% — [сумма НДС] рубля [способ расчета НДС]. [Любая ваша информация]

Параметры НДС

Чтобы все работало правильно, нужно передать такие параметры:

  • Если НДС не указан, то по умолчанию будут использованы эти значения:
    "vat": {
    "type": "NO_VAT",
    "rate": "0",
    "amount": "0.00"
    }
    Важно: в поле «Назначение платежа» обязательно укажите НДС_не_облагается.
  • Если выбрали «type» — INCLUDED (НДС включен в сумму платежа), то в поле «amount» укажите сумму НДС. Значение «rate» должно быть 10 или 20. В поле «Назначение платежа» обязательно укажите посчитанную сумму НДС. Пример правильного заполнения: НДС_10%_—_100.63_рубля (пробел обозначается нижним подчеркиванием, символ не ставится). Если процентное значение не указано, то дефис перед суммой ставить не нужно: НДС_100.63_рубля.
  • Если выбрали «type» — MANUAL (ввод НДС вручную), то поле «amount» заполнять необязательно, но по умолчанию сумма НДС будет равна нулю. Если же поле «amount» заполнено, то укажите нужную сумму НДС в соответствии с форматом. Если процентное значение не указано, то дефис перед суммой ставить не нужно: НДС_100.63_рубля.

FAQ

Какой максимальный срок жизни можно установить для платежного поручения?

Пунктами 5.5, 7.7, 9.6 Положения 383-П установлено, что платежные поручения, инкассовые поручения, платежные требования действительны для представления в банк в течение 10 календарных дней со дня их составления, то есть исчисление срока начинается на следующий день после их составления.

Дата истечения заказа устанавливается в соответствие с вашими бизнес-задачами вами атрибутом expirationDate в ресурсах /v1/payments/from-invoice и /v1/payments/from-invoice-any. Крайний срок действия платежного поручения от даты его формирования не может превышать 10 календарных дней.

Как отозвать сформированный черновик платежного поручения?

Отозвать сформированный черновик платежного поручения на вашей стороне нет технической возможности.

При использовании ресурсов "Моментальные платежи", которые создают черновики платежных поручений, черновики также появляются в СберБизнес Клиента. Через СберБизнес Клиент может самостоятельно отклонить черновик.

Как быстро Банк исполняет подписанное платежное поручение?

После подписания черновика платежного поручения Банк проводит ряд проверок. Обычно Банк исполняет подписанное платежное поручение в течение 1 минуты. В ряде случаев может потребоваться дополнительная информация от Клиента, что увеличит время исполнения документа.

Еще подробнее об исполнении и зачислении платежей в Справочном центре для бизнеса.

Откуда Банк берет реквизиты отправителя для платежного поручения?

В рамках сервиса СберБизнес ID вы реализуете механизм получения access_token. При формировании платежного поручения вы передаете с другими атрибутами access_token, по которому Банк самостоятельно в платежное поручение подставляет все реквизиты плательщика (отправителя).

Где взять access_token?

Получение access_token необходимо реализовать в рамках сервиса СберБизнес ID.

Что будет, если Клиент покинет страницу оплаты, не подписав черновик платежного поручения?

При использовании ресурсов "Моментальные платежи", которые создают черновики платежных поручений, черновики также появляются в СберБизнес Клиента. Любой пользователь Клиента, который имеет право подписи черновиков платежных поручений, сможет подписать черновик.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.