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

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

Обновлено 12 сентября 2024

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

Сценарии описали общие, для более легкого восприятия информации описания работы с сервисом «Моментальные платежи».

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

Варианты реализации
Оплата на счет вашей компании в Сбербанке

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

Шаги

  1. Получить реквизиты перевода
  2. Создать платежное поручение
  3. Подписать платежное поручение

Участники usecase

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

Предусловия

  • Пользователь имеет пользовательский профиль в СберБизнес своей компании
  • Пользователь находится в пространстве Платформы
  • Пользователь прошел авторизацию с помощью СберБизнес ID

Постусловия

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

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

МетодТочка вызоваОписаниеОперация в scopeШаг в схеме
1Alt text/fintech/api/v1/client-infoПолучение расширенной информацииGET_CLIENT_ACCOUNTS1. Получить реквизиты перевода
2Alt text/ic/sso/api/v2/oauth/tokenОбновление токена доступаopenid1. Получить реквизиты перевода
3Alt text/fintech/api/v1/payments/from-invoiceСоздать черновик платежного поручения (отправка на свой счет в Сбербанке)PAY_DOC_RU_INVOICE2. Создать платежное поручение
Расчеты B2B

Подойдет для организации переводов, где отправитель — любая компания со счетом в Сбербанке, а получатель — любая компания со счетом в любом банке.

Шаги

  1. Получить реквизиты перевода
  2. Создать платежное поручение
  3. Подписать платежное поручение

Участники usecase

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

Предусловия

  • Пользователь имеет пользовательский профиль в СберБизнес своей компании
  • Пользователь находится в пространстве Платформы
  • Пользователь прошел авторизацию с помощью СберБизнес ID

Постусловия

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

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

МетодТочка вызоваОписаниеОперация в scopeШаг в схеме
1Alt text/fintech/api/v1/client-infoПолучение расширенной информацииGET_CLIENT_ACCOUNTS1. Получить реквизиты перевода
2Alt text/ic/sso/api/v2/oauth/tokenОбновление токена доступаopenid1. Получить реквизиты перевода
3Alt text/fintech/api/v1/payments/from-invoice-anyСоздать черновик платежного поручения (отправка в любой банк)PAY_DOC_RU_INVOICE_ANY2. Создать платежное поручение
Платежи в бюджет

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

Шаги

  1. Получить реквизиты перевода
  2. Создать платежное поручение
  3. Подписать платежное поручение

Участники usecase

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

Предусловия

  • Пользователь имеет пользовательский профиль в СберБизнес своей компании
  • Пользователь находится в пространстве Платформы
  • Пользователь прошел авторизацию с помощью СберБизнес ID

Постусловия

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

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

МетодТочка вызоваОписаниеОперация в scopeШаг в схеме
1Alt text/fintech/api/v1/client-infoПолучение расширенной информацииGET_CLIENT_ACCOUNTS1. Получить реквизиты перевода
2Alt text/ic/sso/api/v2/oauth/tokenОбновление токена доступаopenid1. Получить реквизиты перевода
3Alt text/fintech/api/v1/payments/from-invoiceСоздать черновик платежного поручения (отправка в бюджет)PAY_DOC_RU_INVOICE_BUDGET2. Создать платежное поручение
Проверка статуса и корректности оплаты

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

Шаги

  1. Получить статус оплаты
  2. Проверить корректность

Участники usecase

  • Платформа - любой web-ресурс (интернет-магазин, облачный сервис, мобильное приложение и т.д.) либо ваша внутренняя система (ERP, учетная система и др.), которую используют Пользователи
  • Sber API - в контексте usecase представляет из себя запросы и ресурсы Sber API, к которым обращается Платформа

Предусловия

  • Успешно выполнен сценарий "Оплата на счет вашей компании в Сбербанке" или "Расчеты B2B" или "Платежи в бюджет"
  • Платформа сохранила идентификатор (extertalId) платежного поручения, созданного в одного из сценариев выше

Постусловия

  • Платежное поручение исполнено
  • Проверена корректность проведенной оплаты
Проверка статуса и корректности оплаты
МетодТочка вызоваОписаниеОперация в scopeШаг в схеме
1Alt text/fintech/api/v1/payments/{externalId}/stateПолучение статуса платежного порученияPAY_DOC_RU_INVOICE или PAY_DOC_RU_INVOICE_ANY или PAY_DOC_RU_INVOICE_BUDGET1. Получить статус оплаты
2Alt text/ic/sso/api/v2/oauth/tokenОбновление токена доступаopenid1. Получить статус оплаты
3Alt text/fintech/api/v1/payments/{externalId}Получение полных данных платежного порученияPAY_DOC_RU_INVOICE или PAY_DOC_RU_INVOICE_ANY или PAY_DOC_RU_INVOICE_BUDGET2. Проверить корректность

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

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

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

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

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

ПеременнаяОписаниеДополнительная информация
{контур Банка}адрес Банка, на который делается запрос для открытия страницы сервиса оплатыДля корректного выбора контура Банка потребуется определить тип криптопрофиля пользователя Клиента.
В рамках запроса /ic/sso/api//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 /fintech/api/v1/payments/from-invoice

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

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

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


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

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

Request

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

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

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

INTERNAL - срочный
INTERNAL_NOTIF - срочный платеж с уведомлением
OFFHOURS - неотложный
BESP - банковские электронные срочные платежи
NORMAL - срочность не указана,
  vatVatobjectrequiredДанные НДС
}
LinkedDoc {
  docExtIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$optionalИдентификатор документа (заявления на страхование экспортного контракта) во внешней системе (UUID), к которому необходимо привязать платежное поручение,
  typestringstring^(ExportContractInsure)$optionalТип связанного документа (доступное значение для заполнения - exportContractInsure), с которым необходимо связать платежное поручение
}
Vat {
  amountnumberfloat^[0-9]{1,16}\.[0-9]{2}$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Вид платежа,
  departmentalInfoDepartmentalInfooptionalРеквизиты налогового, таможенного или иного бюджетного платежа,
  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 /fintech/api/v1/payments/from-invoice-any

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

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

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


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

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

Request

/fintech/api/v1/payments/from-invoice-any
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^[a-zA-Z0-9]{38}$requiredAccess token пользователя, полученный через SSO.
BODY
Invoice {
  amountnumberfloat^[0-9]{1,16}\.[0-9]{2}$requiredСумма платежа,
  creditContractNumberstringstringoptionalНомер кредитного договора,
  datestringISO 8601 YYYY-MM-DD^[0-9]{4}-[0-9]{2}-[0-9]{2}$requiredДата составления документа,
  deliveryKindstringstring^(электронно|срочно|0)$optionalВид платежа.
Если не заполнено или 0, то будет присвоено значение "электронно",
  expirationDatestringISO 8601 YYYY-MM-DD^[0-9]{4}-[0-9]{2}-[0-9]{2}$optionalДата истечения заказа (платеж должен быть подтвержден клиентом),
  externalIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$requiredИдентификатор документа, присвоенный партнером,
  isPaidByCreditbooleanboolean^(true|false)$optionalПризнак того, что платежное поручение будет оплачено за счет кредитных средств,
  linkedDocsarray[LinkedDoc]array[object]optionalСвязанные документы,
  operationCodestringstring^01$optionalКод операции,
  orderNumberstringstringoptionalНомер заказа,
  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,254}$requiredНаименование получателя платежа,
  paymentNumberstringstring^[0-9]{1,6}$optionalНомер платежного поручения.

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

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

INTERNAL - срочный
INTERNAL_NOTIF - срочный платеж с уведомлением
OFFHOURS - неотложный
BESP - банковские электронные срочные платежи
NORMAL - срочность не указана,
  vatVatobjectrequiredДанные НДС
}
LinkedDoc {
  docExtIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$optionalИдентификатор документа (заявления на страхование экспортного контракта) во внешней системе (UUID), к которому необходимо привязать платежное поручение,
  typestringstring^(ExportContractInsure)$optionalТип связанного документа (доступное значение для заполнения - exportContractInsure), с которым необходимо связать платежное поручение
}
Vat {
  amountnumberfloat^[0-9]{1,16}\.[0-9]{2}$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Вид платежа,
  departmentalInfoDepartmentalInfooptionalРеквизиты налогового, таможенного или иного бюджетного платежа,
  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 /fintech/api/v1/payments/from-invoice-budget

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

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

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


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

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

Request

/fintech/api/v1/payments/from-invoice-budget
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^[a-zA-Z0-9]{38}$requiredAccess token пользователя, полученный через SSO.
BODY
Invoice {
  amountnumberfloat^[0-9]{1,16}\.[0-9]{2}$requiredСумма платежа,
  datestringISO 8601 YYYY-MM-DD^[0-9]{4}-[0-9]{2}-[0-9]{2}$requiredДата составления документа,
  deliveryKindstringstring^(электронно|срочно|0)$optionalВид платежа.
Если не заполнено или 0, то будет присвоено значение "электронно",
  departmentalInfoDepartmentalInfoobjectrequiredРеквизиты налогового, таможенного или иного бюджетного платежа,
  externalIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$requiredИдентификатор документа, присвоенный партнером,
  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,254}$requiredНаименование получателя платежа,
  paymentNumberstringstring^[0-9]{1,6}$optionalНомер платежного поручения.

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

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

INTERNAL - срочный
INTERNAL_NOTIF - срочный платеж с уведомлением
OFFHOURS - неотложный
BESP - банковские электронные срочные платежи
NORMAL - срочность не указана,
  vatVatobjectrequiredДанные НДС
}
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-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$optionalИдентификатор документа (заявления на страхование экспортного контракта) во внешней системе (UUID), к которому необходимо привязать платежное поручение,
  typestringstring^(ExportContractInsure)$optionalТип связанного документа (доступное значение для заполнения - exportContractInsure), с которым необходимо связать платежное поручение
}
Vat {
  amountnumberfloat^[0-9]{1,16}\.[0-9]{2}$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Вид платежа,
  departmentalInfoDepartmentalInfooptionalРеквизиты налогового, таможенного или иного бюджетного платежа,
  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 /fintech/api/v1/payments/{externalId}

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

Для получения статуса необходимо отправить GET-запрос /fintech/api/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
  • Промышленный контур https://fintech.sberbank.ru:9443

Request

/fintech/api/v1/payments/{externalId}/state
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^[a-zA-Z0-9]{38}$requiredAccess token пользователя, полученный через SSO.
Acceptstringstring^(application/json|application/jose)optionalУказывает на формат данных, который вы готовы принять от Банка.
- Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json.
- Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose.
PATH PARAMETERS
externalIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-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.
НаименованиеТипОбязательностьОписание
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Одобрен ФРОДПроверка во ФРОДЕ прошла успешно, переход на «Принят»
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Отказан контролирующей организациейЭлектронный документ не прошел проверки контролирующей организацией
FRAUDDENYОтвергнут ФРОДДокумент отказан на основе проверки в АС Fraud-мониторинг, переходим в «Отвергнут банком»
Окончательный (Успешный)/Прекратить опрос
IMPLEMENTEDИсполненЭлектронный документ исполнен Банком

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

Alt text /fintech/api/v1/payments/{externalId}

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

Для получения статуса необходимо отправить GET-запрос /fintech/api/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
  • Промышленный контур https://fintech.sberbank.ru:9443

Request

/fintech/api/v1/payments/{externalId}/state
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^[a-zA-Z0-9]{38}$requiredAccess token пользователя, полученный через SSO.
Acceptstringstring^(application/json|application/jose)optionalУказывает на формат данных, который вы готовы принять от Банка.
- Если ответ не требуется в зашифрованном виде, то может быть не указан или передан со значением application/json.
- Если необходимо получить ответ на запрос токена в зашифрованном виде, то необходимо передать параметр со значением application/jose.
PATH PARAMETERS
externalIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$requiredИдентификатор документа, присвоенный вами при создании документа

Responses

200 (ОК)
НаименованиеТипОбязательностьОписание
Payment {
  amountnumberrequiredСумма платежа,
  bankCommentstringoptionalБанковский комментарий к статусу документа,
  bankStatusstringoptionalСтатус документа,
  crucialFieldsHashstringoptionalHash от ключевых полей документа,
  datestringrequiredДата составления документа,
  deliveryKindstringoptionalВид платежа,
  departmentalInfoDepartmentalInfooptionalРеквизиты налогового, таможенного или иного бюджетного платежа,
  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.
НаименованиеТипОбязательностьОписание
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 в ресурсах /fintech/api/v1/payments/from-invoice и /fintech/api/v1/payments/from-invoice-any. Крайний срок действия платежного поручения от даты его формирования не может превышать 10 календарных дней.

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

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

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

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

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

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

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

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

Где взять access_token?

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

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

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

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