ym88659208ym87991671
Зачисления в другие банки | Документация для разработчиков

Зачисления в другие банки

Обновлено 29 февраля 2024

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

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

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

Отправка зарплатной ведомости

Ресурс /v1/payrolls позволяет отправлять зарплатную ведомость.

Шаги

1. Получить AccessToken.

2. Сформировать ЭП.

3. Отправить запрос.

4. Получить статус.

5. Получить документ.

Для создания зарплатной ведомости необходимо отправить POST-запрос (/v1/payrolls), в котором передать авторизационный токен (Access Token) и реквизиты зарплатной ведомости. Авторизационный токен передается в параметре Authorization.

Чтобы получить доступ к ресурсу, необходимо передать в scope сервис PAYROLL.

Если зарплатный договор с резервированием, PayrollPayDoc не заполняется. В случае отсутствия в ответe блока commissionInfo необходимо повторить выполнение GET-запроса (/v1/payrolls/{externalId}) позднее или обратиться в Банк.

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

Параметр bic необязательный. При отсутствии значения считается, что зачисление должно быть произведено в Сбербанк.

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

Модель запроса и ответа (договор зарплатной ведомости с резервированием)

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token собственной организации, полученный через SSO
Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1
Параметры тела запроса
Payroll {
account (string, optional)Номер счета клиента ,
admissionValue (string)Вид зачисления. Необходимо использовать значения полученные из запроса на получение информации по зарплатному договору "Код зачисления " ,
amount (AmountCurrency)Итоговая сумма зачисления ,
authPersonName (string, optional)ФИО уполномоченного сотрудника организации пользователя ,
authPersonTelfax (string, optional)Номер телефона, факса уполномоченного сотрудника организации пользователя ,
bankComment (string, optional, read only)Банковский комментарий к статусу документа ,
bankStatus (string, optional, read only)Статус документа ,
bic (string)БИК банка пользователя ,
contractDate (string)Дата договора ,
contractNumber (string)Номер договора ,
date (string)Дата составления документа ,
digestSignatures (Array[Signature], optional)Электронные подписи по дайджесту документа ,
employeeSalaries (Array[PayrollEmpSalary], optional)Сотрудники, которым зачисляют зарплату ,
employeesNumber (integer)Количество сотрудников ,
externalId (string)Идентификатор документа, присвоенный сервисом (UUID) ,
incomeTypeCode (string, optional)Код вида дохода получателей выплаты по 229-ФЗ.

Коды
1 - При переводе денежных средств, являющихся заработной платой и (или) иными доходами, в отношении которых статьей 99 Федерального закона N 229-ФЗ установлены ограничения,
2 - При переводе денежных средств, являющихся доходами, на которые в соответствии со статьей 101 Федерального закона N 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в пунктах 1 и 4 части 1 статьи 101 Федерального закона N 229-ФЗ),
3 - При переводе денежных средств, являющихся видами доходов, на которые в соответствии с пунктами 1 и 4 части 1 статьи 101 Федерального закона N 229- ФЗ не может быть обращено взыскание,
loanAmount (AmountCurrency, optional)Сумма оплаты за счет кредитных средств ,
loanDate (string, optional)Дата кредитного договора ,
loanNumber (string, optional)Номер кредитного договора ,
month (string)Месяц отчетного периода ,
number (string, optional)Номер документа ,
orgName (string)Наименование организации пользователя ,
orgTaxNumber (string)ИНН организации пользователя ,
payDocs (Array[PayrollPayDoc], optional)Платежные документы перечисления зарплаты ,
year (string)Год отчетного периода
}AmountCurrency {
amount (number)Сумма ,
currencyCode (string)Цифровой код валюты ,
currencyName (string)Буквенный ISO-код валюты
}PayrollCommissionInfo{
actualRate (number, optional, read only)Фактическая тарифная ставка комиссии (%) ,
actualSum (number, optional, read only)Фактическая сумма комиссии ,
estimatedRate (number, optional, read only)Предварительная тарифная ставка комиссии (%) ,
estimatedSum (number, optional, read only)Предварительная сумма комиссии ,
invoiceDate (string, optional, read only)Дата выставления счета и направления детализации
}Signature {
base64Encoded (string)Значение электронной подписи, закодированное в Base64 ,
certificateUuid (string)Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)
}PayrollEmpSalary {
account (string)Номер счета сотрудника ,
amount (AmountCurrency)Сумма начисления ,
bankMessage (string, optional, read only)Сообщение из банка по сотруднику ,
bic (string, optional)БИК банка сотрудника ,
firstName (string)Имя ,
withheldAmount (number, optional)Сумма удержанных средств по исполнительному документу ,
lastName (string)Фамилия ,
middleName (string, optional)Отчество ,
result (string, optional, read only)Результат начисления,
receiptStatus (string, optional)Статус регистрации дохода самозанятого в ФНС (чек),
receiptResult (string, optional)Результат регистрации дохода самозанятого в ФНС (чек)
}

Пример запроса

{
"account": "40802810600000200000",
"admissionValue": "01",
"amount": {
"amount": "1.01",
"currencyCode": "840",
"currencyName": "USD"
},
"authPersonName": "Иванов Алексей Сергеевич",
"authPersonTelfax": "8(495)1234567",
"bankComment": "string",
"bankStatus": "string",
"bic": "044525225",
"commissionInfo": {
"actualRate": "1.01",
"actualSum": "1.01",
"estimatedRate": "1.01",
"estimatedSum": "1.01",
"invoiceDate": "2018-12-31"
},
"contractDate": "2018-12-31",
"contractNumber": "1",
"date": "2018-12-31",
"digestSignatures": [{
"base64Encoded":
"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/
T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}],
"employeeSalaries": [{
"account": "40802810600000200000",
"amount": {
"amount": "1.01",
"currencyCode": "840",
"currencyName": "USD"
},
"bankMessage": "string",
"bic": "044525225",
"firstName": "Дмитрий",
"withheldAmount": "1010.01",
"lastName": "Петров",
"middleName": "Сергеевич",
"result": "string"
}],
"employeesNumber": 254,
"externalId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"incomeTypeCode": "1",
"loanAmount": {
"amount": "1.01",
"currencyCode": "840",
"currencyName": "USD"
},
"loanDate": "2018-12-31",
"loanNumber": "1234567890",
"month": "Январь",
"number": "1",
"orgName": "Общество с ограниченной ответственностью \"Клиент\"",
"orgTaxNumber": "7707083893",
"year": "2019"
}

Модель запроса и ответа (договор зарплатной ведомости без резервирования)

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token собственной организации, полученный через SSO
Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1
Параметры тела запроса
Payroll {
account (string, optional)Номер счета клиента ,
admissionValue (string)Вид зачисления. Необходимо использовать значения полученные из запроса на получение информации по зарплатному договору "Код зачисления " ,
amount (AmountCurrency)Итоговая сумма зачисления ,
authPersonName (string, optional)ФИО уполномоченного сотрудника организации пользователя ,
authPersonTelfax (string, optional)Номер телефона, факса уполномоченного сотрудника организации пользователя ,
bankComment (string, optional, read only)Банковский комментарий к статусу документа ,
bankStatus (string, optional, read only)Статус документа ,
bic (string)БИК банка пользователя ,
contractDate (string)Дата договора ,
contractNumber (string)Номер договора ,
date (string)Дата составления документа ,
digestSignatures (Array[Signature], optional)Электронные подписи по дайджесту документа ,
employeeSalaries (Array[PayrollEmpSalary], optional)Сотрудники, которым зачисляют зарплату ,
employeesNumber (integer)Количество сотрудников ,
externalId (string)Идентификатор документа, присвоенный сервисом (UUID) ,
loanAmount (AmountCurrency, optional)Сумма оплаты за счет кредитных средств ,
loanDate (string, optional)Дата кредитного договора ,
loanNumber (string, optional)Номер кредитного договора ,
month (string)Месяц отчетного периода ,
number (string, optional)Номер документа ,
orgName (string)Наименование организации пользователя ,
orgTaxNumber (string)ИНН организации пользователя ,
payDocs (Array[PayrollPayDoc], optional)Платежные документы перечисления зарплаты ,
year (string)Год отчетного периода
}AmountCurrency {
amount (number)Сумма ,
currencyCode (string)Цифровой код валюты ,
currencyName (string)Буквенный ISO-код валюты
}PayrollCommissionInfo {
actualRate (number, optional, read only)Фактическая тарифная ставка комиссии (%) ,
actualSum (number, optional, read only)Фактическая сумма комиссии ,
estimatedRate (number, optional, read only)Предварительная тарифная ставка комиссии (%) ,
estimatedSum (number, optional, read only)Предварительная сумма комиссии ,
invoiceDate (string, optional, read only)Дата выставления счета и направления детализации
}Signature {
base64Encoded (string)Значение электронной подписи, закодированное в Base64 ,
certificateUuid (string)Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID)
}PayrollEmpSalary {
account (string)Номер счета сотрудника ,
amount (AmountCurrency)Сумма начисления ,
bankMessage (string, optional, read only)Сообщение из банка по сотруднику ,
bic (string, optional)БИК банка сотрудника ,
firstName (string)Имя ,
withheldAmount (number, optional)Сумма удержанных средств по исполнительному документу ,
lastName (string)Фамилия ,
middleName (string, optional)Отчество ,
result (string, optional, read only)Результат начисления,
receiptStatus (string, optional)Статус регистрации дохода самозанятого в ФНС (чек),
receiptResult (string, optional)Результат регистрации дохода самозанятого в ФНС (чек)
}PayrollPayDoc {
amount (AmountCurrency)Сумма ,
docDate (string)Дата расчетного документа ,
incomeTypeCode (string, optional)Код вида дохода получателей выплаты по 229-ФЗ.

Коды
1 - При переводе денежных средств, являющихся заработной платой и (или) иными доходами, в отношении которых статьей 99 Федерального закона N 229-ФЗ установлены ограничения,
2 - При переводе денежных средств, являющихся доходами, на которые в соответствии со статьей 101 Федерального закона N 229-ФЗ не может быть обращено взыскание, за исключением доходов, указанных в пунктах 1 и 4 части 1 статьи 101 Федерального закона N 229-ФЗ),
3 - При переводе денежных средств, являющихся видами доходов, на которые в соответствии с пунктами 1 и 4 части 1 статьи 101 Федерального закона N 229- ФЗ не может быть обращено взыскание,
number (string)Номер расчетного документа ,
payeeAccount (string)Номер счета получателя ,
payeeBic (string)БИК банка получателя ,
payerAccount (string)Номер счета плательщика ,
payerBic (string)БИК банка плательщика ,
purpose (string)Назначение платежного документа
}

Передача электронной подписи вместе с документом

Для передачи ЭП под документом используется массив digestSignatures, в котором передаются элементы типа Signature:

Наименование поляОписание поляПример
base64Encoded (String)Значение ЭП документаHlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==
certificateUuid (String)Идентификатор сертификата, использованного при создании ЭП ( можно узнать, обратившись к ресурсу /v1/crypto)22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6

Для платежных поручений, создаваемым по собственным счетам можно передать одну или две электронных подписей (или не передавать при отсутствии ЭП) вместе с реквизитами создаваемого документа . если ЭП передана/ы в API, то они сохраняются вместе с документом, а сам документ продвигается дальше по своему жизненному циклу. если ЭП не была/и передана/ы, то документ сохраняется в своем начальном статусе и ожидает дальнейшего подписания в интерфейсе СББОЛ.

Документ может быть подписан следующими наборами подписей:

  • одна (единственная) подпись,

  • первая и вторая подписи.

При этом подписант, обладающий полномочием единственной подписи, не может «сочетаться» с подписантом, владеющим первой или второй подписью.

Очередность наложения ЭП при наложении первой и второй подписей не имеет значения, состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля пользователя при заведении в Банке.

Формат дайджеста

Наименование поляОписание поляПример
accountНомер счета клиента40702810600000001523
admissionValueВид зачисления (цифровое значение вида зачисления) из справочника видов зачисления SalType01
amount.amountСумма по договору1240687.00
amount.currencyNameТрехбуквенный код валютыRUB
authPersonNameИмя уполномоченного сотрудника организации пользователяИванов Алексей Сергеевич
authPersonTelfaxНомер телефона, факса уполномоченного сотрудника организации пользователя8(495)3612541
bicБИК банка пользователя044525225
contractDateДата договора2018-02-20
contractNumberНомер договора456
dateДата составления документа2018-02-20
employeesNumberКоличество сотрудников300
externalIdИдентификатор документа, присвоенный сервисом (UUID)550e8400-e29b-41d4-a716-446655440000
incomeTypeCodeКод вида дохода получателей выплаты по 229-ФЗ1
loanAmountСумма оплаты за счет кредитных средств1000.00
loanDateДата кредитного договора04.03.2019
loanNumberНомер кредитного договора155
monthМесяц отчетного периодаЯнварь
orgNameНаименование организации пользователяООО Ромашка
orgTaxNumberИНН пользователя222201236445
yearГод отчетного периода2018
TABLES
TABLES=employeeSalaries
accountНомер счета физического лица Счет физического лица (получателя зарплаты) не может быть открыт в стороннем банке. Подразделение Сбербанка определяется в СББОЛ по счету, а именно по цифрам из отмеченных разрядов хххххххххХХХХххххххх40702810600000001673
amount.amountСумма675988.00
amount.currencyNameТрехбуквенный код валютыRUB
firstNameИмя физического лицаДмитрий
lastNameФамилия физического лицаПетров
middleNameОтчество физического лицаДмитриевич
withheldAmountСумма удержанных средств по исполнительному документу1010.01
Не заполняется если в зарплатном договоре стоит признак «с резервированием»!
TABLES=payDocs
amount.amountСумма675988.00
amount.currencyNameТрехбуквенный код валютыRUB
docDateДата расчетного документа (по местному времени обслуживающего подразделения банка)2018-02-20
numberНомер расчетного документа388
payeeAccountНомер счета плательщика40702810500006103990
payeeBicБИК банка зачисления044525225
payerAccountНомер счета плательщика40702810500006103990
payerBicБИК банка плательщика044525225
purposeНазначение платежаЗачисление зарплаты

Теги дайджеста должны быть отсортированы по алфавиту. Если значение поля не определено, то тег в дайджесте не используется.

Пример дайджеста (договор зарплатной ведомости с резервированием)

account=40702810078452334405
admissionValue=01
amount.amount=10000.55
amount.currencyName=RUB
authPersonName=Иванов Александр Сергеевич
authPersonTelfax=+7(812)1234567
bic=044525225
contractDate=2019-02-04
contractNumber=46096
date=2019-02-04
employeesNumber=2
externalId=b37fbdbc-d7a3-49c4-a191-be8e8b49ffba
incomeTypeCode=1
loanamount=1000.00
loandate=04.03.2019
loanNumber=155
month=Январь
orgName=Организация MuSAAIQKoXSVAFU
orgTaxNumber=4781796357
year=2019
TABLES
Table=EmployeeSalaries
account=42301810600000200001
amount.amount=5000.50
amount.currencyName=RUB
firstName=Иван
lastName=Иванов
middleName=Иванович
withheldAmount=1010.01
#
account=42301810600000200002
amount.amount=5000.05
amount.currencyName=RUB
firstName=Петр
lastName=Петров
middleName=Петрович
withheldAmount=1020.01
#

Пример дайджеста (договор зарплатной ведомости без резервирования)

account=40702810078452334405
admissionValue=01
amount.amount=10000.55
amount.currencyName=RUB
authPersonName=Иванов Александр Сергеевич
authPersonTelfax=+7(812)1234567
bic=044525225
contractDate=2019-02-04
contractNumber=46096
date=2019-02-04
employeesNumber=2
externalId=b37fbdbc-d7a3-49c4-a191-be8e8b49ffba
loanamount=1000.00
loandate=04.03.2019
loanNumber=155
month=Январь
orgName=Организация MuSAAIQKoXSVAFU
orgTaxNumber=4781796357
year=2019
TABLES
Table=EmployeeSalaries
account=42301810600000200001
amount.amount=5000.50
amount.currencyName=RUB
firstName=Иван
lastName=Иванов
middleName=Иванович
withheldAmount=1010.01
#
account=42301810600000200002
amount.amount=5000.05
amount.currencyName=RUB
firstName=Петр
lastName=Петров
middleName=Петрович
withheldAmount=1020.01
#
Table=PayDocs
amount.amount=10000.55
amount.currencyName=RUB
docDate=2019-02-04
incomeTypeCode=1
number=1
payeeAccount=40702810828030026262
payeeBic=044525225
payerAccount=40702810078452334405
payerBic=40702810078452334405
purpose=Назначение платежа
#

Получение статуса зарплатной ведомости

Ресурс /v1/payrolls/{externalId}/state позволяет получить статус ранее отправленной зарплатной ведомости.

Шаги

1. Получить AccessToken.

2. Отправить запрос.

Для получения статуса необходимо отправить GET-запрос ( /v1/payrolls/{externalId}/state ), в котором передать авторизационный токен ( Access Token ) и идентификатор документа ( externalId ). Авторизационный токен передается в параметре Authorization заголовка запроса.

Чтобы получить доступ к ресурсу, необходимо передать в scope сервис PAYROLL.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token полученный через SSO
Пример: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1
Параметры запроса
externalId (String)Идентификатор документа, присвоенный сервиса

Пример запроса

curl -X GET --header 'Accept: application/json' --header
'Authorization: Bearer daf9a14c-821d-4bde-9c10-0e56e63d54a0-1'
'https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/payrolls/22a6dd81-103a-4d3a-8e9b-0ba4b527f010/state'

Модель ответа

НаименованиеОписание
DocState {
bankComment (string, optional, read only)Банковский комментарий к статусу документа,
bankStatus (string, optional)Статус документа,
receiptStatus (string)Статус регистрации дохода самозанятого в ФНС (чек)
}

Пример ответа

{
"bankStatus": "CREATED",
"bankComment": null,
"receiptStatus": "FINISHED"
}

Возможные статусы

СтатусЗначениеСостояние
DELIVEREDДоставленПромежуточный/Продолжать опрашивать
VALIDEDSЭП/АСП вернаПромежуточный/Продолжать опрашивать
INVALIDEDSЭП/АСП не вернаКонечный/Прекратить опрашивать
REQUISITEERRORОшибка реквизитовКонечный/Прекратить опрашивать
TRIEDПроверенПромежуточный/Продолжать опрашивать
DELAYEDПриостановленПромежуточный/Продолжать опрашивать
CORRESPONDENT_APPROVE_WAITINGОжидает подтверждения контрагентаПромежуточный/Продолжать опрашивать
EXPORTEDВыгруженПромежуточный/Продолжать опрашивать
IMPLEMENTEDИсполненУспешный конечный/Прекратить опрашивать
REFUSEDBYABSОтказан АБСКонечный/Прекратить опрашивать
ACCEPTEDПринятПромежуточный/Продолжать опрашивать
ACCEPTED_BY_ABSПринят АБСПромежуточный/Продолжать опрашивать
PARTIMPLEMENTEDЧастично исполненКонечный/Прекратить опрашивать (Для получения подробной информации об исполнении документа выполнить запрос /v1/payrolls/{externalId})
CARD2Картотека №2Промежуточный/Продолжать опрашивать
FRAUDSMSТребуется подтверждение паролемПромежуточный/Продолжать опрашивать
FRAUDREVIEWНа проверке у специалиста банкаПромежуточный/Продолжать опрашивать
FRAUDDENYОтвергнут ФРОДКонечный/Прекратить опрашивать
FRAUDSENTОтправлен во ФРОДПромежуточный/Продолжать опрашивать
SIGNED_BANKПодписан БанкомПромежуточный/Продолжать опрашивать
REFUSEDBYBANKОтказан БанкомКонечный/Прекратить опрашивать
FRAUDALLOWОдобрен ФРОДПромежуточный/Продолжать опрашивать
SIGNEDПодписанПромежуточный/Продолжать опрашивать
UNABLE_TO_RECEIVEОшибка при приемеКонечный/Прекратить опрашивать
CREATEDСозданПромежуточный/Продолжать опрашивать
IMPORTEDИмпортированПромежуточный/Продолжать опрашивать
PARTSIGNEDЧастично подписанПромежуточный/Продолжать опрашивать
CHECKERRORОшибка контроляКонечный/Прекратить опрашивать
INCONSISTENT_DATAНарушена целостность документаКонечный/Прекратить опрашивать

Коды возврата

Код возвратаОписание кода возвратаПричина возникновения
200 (GET-запроса)CREATED
Создан
201 (PUT-запрос)CREATED
Создан
400DESERIALIZATION_FAULT
Неверный формат запросаНеверный формат запроса
WORKFLOW_FAULT
Для внешнего сервиса недоступны операции по счету: 40702810ХХХХХХХХХХХХДля внешнего сервиса недоступны операции по счету: счет не добавлен в список разрешенных в оферте; внешний сервис заблокирован в СББОЛ; счет указан неверно. Отсутствует доступный открытый рублевый расчетный счет у организации плательщика
Документ с такими реквизитами уже существуетДокумент с такими реквизитами уже существует. Проверка по номер документа в течении года.
VALIDATION_FAULT
Ошибка валидацииОшибка валидации данных запроса с указанием некорректных значений. Значения полей модели или параметров запроса не соответствуют допустимым и определенным в модели.
SIGN_CHECK_EXCEPTION
Подлинность подписи не установлена/Сертификат не обнаружен или не является активнымОшибка возникает, если не удалось установить подлинность подписи
401UNAUTHORIZED
accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token.
403ACTION_ACCESS_EXCEPTION
Операция не может быть выполнена: доступ к ресурсу запрещенУ пользователя нет прав на использование соответствующего сервиса Sber API (Fintech API), доступ к которому не предусмотрен настройками scope; У пользователя отсутствует оферта с внешним сервисом.
415JWS_EXCEPTED
В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact SerializationОшибка возникает, если в настройках внешних сервисов выставлен флаг "Требуется подпись для внешнего сервиса"
500UNKNOWN_EXCEPTION
Внутренняя ошибка сервера
503UNAVAILABLE_RESOURCE_EXCEPTION
Сервис временно недоступенПроводятся технические работы
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.