Валютное платежное поручение
Для обращения к ресурсу необходимо отправлять запрос на:
Тестовый контур
https://iftfintech.testsbi.sberbank.ru:9443
Промышленный контур
https://fintech.sberbank.ru:9443
Ресурс /v1/pay-doc-cur
Ресурс позволяет создавать валютное платежное поручение по собственной организации и по дочерней компании, при наличии согласия дочерней организации.
Шаги
1. Получить AccessToken.
2. Сформировать ЭП.
3. Отправить запрос.
4. Получить статус.
Для создания документа необходимо отправить POST-запрос (/v1 /pay-doc-cur), в котором необходимо передать авторизационный токен для доступа к данным собственной/дочерней организации (Access Token) и реквизитный состав документа. Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис PAY_DOC_CUR
.
Модель запроса и ответа
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token собственной/дочерней организации, полученный через SSO Пример: Bearer 8190f687-c916-453b-9d68-0ce22f4f3f9d-1 |
Параметры тела запроса | |
PayDocCur { | |
acceptDate (string, optional, read only) | Дата представления в банк , |
addInfo (string, optional) | Примечание , 300 символов |
additionalInfo (string, optional) | Информация получателю платежа (дополнительная информация), поле 72 , 220 символов |
amountDebitTotal (number, optional, read only) | Фактическая сумма списанной валюты , |
amountTransfer (AmountCurrency) | Сумма перевода , |
amountTransferTotal (number, optional, read only) | Фактическая сумма переведенной валюты , |
authPersonName (string, optional) | ФИО уполномоченного сотрудника организации клиента , |
authPersonTelfax (string, optional) | Номер телефона, факса уполномоченного сотрудника организации клиента , |
b77info (string, optional) | Информация для регулирующих органов , 109 символов |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа , |
bankStatus (string, optional, read only) | Статус документа , |
beneficiaryAccount (string, optional) | Счет бенефициара , 34 символа |
beneficiaryAddress (string, optional) | Адрес бенефициара , |
beneficiaryBankAccount (string, optional) | Корреспондентский счет банка бенефициара , |
beneficiaryBankAddress (string, optional) | Адрес банка бенефициара , 255 символов |
beneficiaryBankBranchName (string, optional) | Наименование филиала банка бенефициара , 70 символов |
beneficiaryBankClearingCode (ClearingCode, optional) | Клиринговый код банка бенефициара , |
beneficiaryBankCountryDigital (string) | Цифровой код страны банка бенефициара , |
beneficiaryBankCountryIso2 (string) | 2х буквенный ISO-код страны банка бенефициара , |
beneficiaryBankName (string) | Наименование банка бенефициара , 140 символов |
beneficiaryBankPlace (string) | Местонахождение банка бенефициара , 255 символов |
beneficiaryBankSwift (string, optional) | SWIFT-код банка бенефициара ,11 символов |
beneficiaryBeiCode (string, optional) | BEI-код (SWIFT-код) банка бенефициара , 11 символов |
beneficiaryCountryDigital (string) | Цифровой код страны бенефициара , 3 цифры |
beneficiaryCountryIso2 (string) | 2х буквенный ISO-код страны бенефициара , 2 заглавные латинские буквы |
beneficiaryCountryName (string, optional) | Наименование страны бенефициара на русском языке (краткое наименование) , 255 символов |
beneficiaryInn (string, optional) | ИНН бенефициара , 10 либо 12 цифр, либо "0". Не заполняется при paymentDirection=0, |
beneficiaryName (string) | Наименование бенефициара , 140 символов |
beneficiaryPlace (string) | Город (месторасположение) бенефициара , 35 символов |
chargesType (string) | Тип комиссии за перевод: BEN, SHA или OUR = ['BEN', 'SHA', 'OUR'] stringEnum: "BEN", "SHA", "OUR", |
codes23e (Array[Code23e], optional) | 23E: Код инструкции , |
date (string) | Дата составления документа , YYYY-MM-DD |
digestSignatures (Array[Signature], optional) | Электронные подписи по дайджесту документа , |
externalId (string) | Идентификатор документа в организации-партнере (UUID) , |
factRate (number, optional, read only) | Фактический курс конверсии , |
iMediaBankAddress (string, optional) | Адрес банка-посредника , 255 символов |
iMediaBankCountryDigital (string, optional) | Цифровой код страны банка-посредника , 3 цифры |
iMediaBankCountryIso2 (string, optional) | 2х буквенный ISO-код страны банка-посредника , 2 заглавные латинские буквы |
iMediaBankName (string, optional) | Наименование банка-посредника , 140 символов |
iMediaBankPlace (string, optional) | Город банка-посредника , 35 символов |
iMediaBankSwift (string, optional) | SWIFT-код банка-посредника , 11 символов |
iMediaClearingCode (ClearingCode, optional) | Клиринговый код банка-посредника , |
iMediaFilialBankName (string, optional) | Наименование филиала банка-посредника , |
inn (string) | ИНН клиента , 10 либо 12 цифр, либо "0" |
linkedDocs (Array[LinkedDoc], optional) | Связанные документы , |
number (string, optional) | Номер документа , до 7 цифр |
option50a (string) | Опция 50а = ['K', 'F'] stringEnum: "K", "F", |
option56a (string, optional) | Опция 56a = ['A', 'D'] stringEnum: "A", "D", |
option57a (string) | Опция 57а = ['A', 'D'] stringEnum: "A", "D", |
option59a (string, optional) | Опция 59а = ['A', 'F'] stringEnum: "A", "F", |
orgName (string) | Сокращенное наименование организации клиента , 160 символов |
payerAccount (string) | Счет плательщика , 20 цифр |
payerAddress (string) | Адрес плательщика , 120 символов |
payerBankBic (string) | БИК банка плательщика , 9 цифр |
payerBankPlace (string, optional) | Местонахождение банка плательщика , 35 символов |
payerCountryDigital (string) | Цифровой код страны перевододателя , 3 цифры |
payerCountryIso2 (string) | 2х буквенный ISO-код страны перевододателя , |
payerCountryName (string) | Наименование страны перевододателя на русском языке (краткое наименование) , 255 символов |
payerName (string) | Международное наименование плательщика , 140 символов |
payerPlace (string) | Город (местонахождение) плательщика , 35 символов |
paymentDetails (string) | Назначение платежа , 140 символов |
paymentDirection (string) | Направление платежа (Платеж внутри или вне СБРФ): 1-внутри, 0-вне , |
rateAgree (boolean) | С курсом проведения конверсионной операции согласны , |
urgent (boolean) | Срочность , значение true необходимо отправлять в случае, если по счету списания есть возможность отправлять неотложные платежи. |
valueDate (string, optional, read only) | Дата валютирования/возврата |
}AmountCurrency { | |
amount (number) | Сумма , Максимум 16 цифр в целой части, максимум 2 цифры в дробной части, не менее 0.01 |
currencyCode (string) | Цифровой код валюты , 3 символа: первый - заглавная латинская буква либо цифра, второй и третий - цифры |
currencyName (string) | Буквенный ISO-код валюты, 3 заглавные латинские буквы |
}ClearingCode { | |
clearingCode (string, optional) | Клиринговый код , 11 символов |
countryCode (string, optional) | 2-х символьный код страны, |
shortName (string, optional) | Сокращенное наименование национального клирингового кода , 140 символов |
symbol (string, optional) | Обозначение национального клирингового кода 2 заглавные латинские буквы |
}Code23e { | |
code (string) | Код инструкции , 4 символа |
description (string, optional) | Описание , 255 символов |
info (string, optional) | Дополнительная информация 30 символов |
}Signature { | |
base64Encoded (string) | Значение электронной подписи, закодированное в Base64 , |
certificateUuid (string) | Уникальный идентификатор сертификата ключа проверки электронной подписи (UUID) |
}LinkedDoc { | |
docExtId (string) | Идентификатор документа во внешней системе (UUID) , |
type (string) | Тип связанного документа |
} |
Пример запроса
{
"addInfo":"Примечание",
"additionalInfo":"/CCTFDR/",
"amountTransfer":{
"amount":1.01,
"currencyCode":"840",
"currencyName":"USD"
},
"amountTransferTotal":1.01,
"authPersonName":"Иванов Иван Иванович",
"authPersonTelfax":"4955005550",
"b77info":"/BENEFRES/",
"beneficiaryAccount":"40802840600000200000",
"beneficiaryAddress":"UL.KUTUZOVSKAYA,D.2",
"beneficiaryBankAccount":"40802840600000200000",
"beneficiaryBankAddress":"3, AVENUE HOCHE",
"beneficiaryBankBranchName":"(TREASURY DEPARTMENT)",
"beneficiaryBankClearingCode":{
"clearingCode":"BLAAAOLU",
"countryCode":"DE",
"shortName":"German Bankleitzahl (BLZ)",
"symbol":"BL"
},
"beneficiaryBankCountryDigital":"643",
"beneficiaryBankCountryIso2":"RU",
"beneficiaryBankName":"ALANDSBANKEN ABP (FINLAND),SVENSK FILIAL",
"beneficiaryBankPlace":"ФИНЛЯНДИЯ",
"beneficiaryBankSwift":"AABAFI22TMS",
"beneficiaryBeiCode":"UBSWUS33CHI",
"beneficiaryCountryDigital":"643",
"beneficiaryCountryIso2":"RU",
"beneficiaryCountryName":"РОССИЯ",
"beneficiaryInn":"7707083893",
"beneficiaryName":"EMIRP",
"beneficiaryPlace":"MOSCOW",
"chargesType":"BEN",
"codes23e":[
{
"code":"SDVA",
"description":"Средства должны быть зачислены бенефициару той же датой валютирования",
"info":"DOPOLNITEL INFO 8747483893"
}
],
"date":"2018-12-31",
"digestSignatures":[
{
"base64Encoded":"HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
"certificateUuid":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}
],
"externalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"iMediaBankAddress":"ACCIONES Y VALORES, PISO 12:CALLE 72 7 64",
"iMediaBankCountryDigital":"643",
"iMediaBankCountryIso2":"RU",
"iMediaBankName":"BANCO DE DESENVOLVIMENTO DE ANGOLA",
"iMediaBankPlace":"LUANDA",
"iMediaBankSwift":"BDAAAOLU",
"iMediaClearingCode":{
"clearingCode":"BLAAAOLU",
"countryCode":"DE",
"shortName":"German Bankleitzahl (BLZ)",
"symbol":"BL"
},
"iMediaFilialBankName":"BANCO DE DESENVOLVIMENTO DE ANGOLA",
"inn":"7707083893",
"linkedDocs":[
{
"docExtId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"type":"PayDocCur"
}
],
"number":"1",
"option50a":"K",
"option56a":"A",
"option57a":"A",
"option59a":"A",
"orgName":"ООО \"Организация\"",
"payerAccount":"40802840600000200000",
"payerAddress":"UL.DOBROLIUBOVA,D.18,OF.III",
"payerBankBic":"044525225",
"payerBankPlace":"MOSCOW",
"payerCountryDigital":"643",
"payerCountryIso2":"RU",
"payerCountryName":"РОССИЯ",
"payerName":"LLC COMPANY",
"payerPlace":"MOSKVA",
"paymentDetails":"CONTRACT 123",
"paymentDirection":"0",
"rateAgree":false,
"urgent":false,
"valueDate":"2018-12-31"
}
Наименование документа | type для linkedDocs |
---|---|
СВО | CurrencyOperationDetails |
Заполнение клиринговых кодов
Для задания клиринговых кодов банка бенефициара и банка-посредника, описываемых в виде JSON-объекта ClearingStructure, можно использовать данные справочников:
Справочник структур национальных клиринговых кодов (ClearingStructure) для заполнения countryCode, shortName и symbol;
Международный справочник банков (SwiftBic) для заполнения clearingCode и countryCode.
Чтобы их получить, необходимо отправить соответствующие GET-запросы с указанием имени нужного справочника (см. Получение справочной информации).
Ниже представлена таблица с заполняемыми полями объекта ClearingCode с соответствующими им значениями полей объектов из полученных справочников.
Имя поля | Описание |
---|---|
Поля объекта ClearingCode | |
clearingCode (String) | Клиринговый код банка |
countryCode (String) | Код страны (2 символа) |
shortName (String) | Сокращенное наименование национального клирингового кода |
symbol (String) | Обозначение национального клирингового кода |
Поля объектов из справочника ClearingStructure | |
countryCode (String) | Код страны (2 символа) |
name (String) | Сокращенное наименование национального клирингового кода |
note (String) | Обозначение национального клирингового кода |
Поля объектов из справочника SwiftBic | |
bicInt (String) | Международный БИК |
mnem02 (String) | 2-символьный код страны |
Передача электронной подписи вместе с документом
Передача электронной подписи (ЭП) осуществляется с использованием массива digestSignatures, где каждый элемент представляет собой подпись (Signature). Каждая подпись должна содержать следующие обязательные поля:
Наименование поля | Описание поля | Пример |
---|---|---|
base64Encoded (string) | Значение ЭП документа | HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w== |
certificateUuid (string) | Идентификатор сертификата, использованного при создании ЭП (можно узнать, обратившись к ресурсу /v1/crypto или /v1/crypto/eio) | 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 |
В документе можно передать одну или две электронных подписи вместе с реквизитами создаваемого документа. Если подписи переданы через API, то они сохраняются вместе с документом, а сам документ продолжает свой жизненный цикл. Если подписи не были переданы, то документ сохраняется в начальном статусе и ожидает дальнейшей подписи в интерфейсе СберБизнес.
Документ может быть подписан следующими наборами подписей:
- одна (единственная) подпись;
- первая и вторая подписи.
При этом нельзя сочетать подпись, имеющую единственное полномочие, с подписью, имеющей первую или вторую подписи.
Порядок наложения подписи не имеет значения при наложении первой и второй подписей. Состав полей дайджеста не изменяется. Тип подписи указывается в настройках криптопрофиля при создании пользователя в СберБизнес.
Подробнее о работе с ЭЦП в Sber API можно ознакомиться в соответствующем разделе документации.
Формирование электронной подписи (ГОСТ 2012).
Теги дайджеста должны быть отсортированы по алфавиту. В дайджесте не указываются значения number и блок linkedDocs.
Формат дайджеста
Наименование поля | Описание поля | Пример |
---|---|---|
addInfo | Примечание | Примечание |
additionalInfo | Информация получателю платежа (поле 72) | /CCTFDR/ |
amountTransfer.amount | Сумма валютного перевода | 1.00 |
amountTransfer.currencyCode | Цифровой код валюты | 840 |
amountTransfer.currencyName | ISO-код валюты | USD |
authPersonName | ФИО ответственного лица | Иванов Алексей Сергеевич |
authPersonTelfax | Телефон ответственного лица | +74951234567 |
b77info | Информация для регулирующих органов | Информация для регулирующих органов |
beneficiaryAccount | Счет бенефициара | 40802840600000200000 |
beneficiaryAddress | Адрес бенефициара | UL.KUTUZOVSKAYA,D.2 |
beneficiaryBankAccount | Корреспондентский счет банка бенефициара | 40802840600000200000 |
beneficiaryBankAddress | Адрес банка бенефициара | ул. Вавилова, д. 19 |
beneficiaryBankBranchName | Наименование филиала банка бенефициара | (TREASURY DEPARTMENT) |
beneficiaryBankClearingCode.clearingCode | Клиринговый код банка бенефициара | 111111 |
beneficiaryBankClearingCode.countryCode | Обозначение национального клирингового кода банка бенефициара | UA |
beneficiaryBankClearingCode.shortName | Сокращенное наименование национального клирингового кода | Сокращенное наименование национального клирингового кода |
beneficiaryBankClearingCode.symbol | Клиринговый код банка бенефициара | UA |
beneficiaryBankCountryDigital | Цифровой код страны банка бенефициара | 643 |
beneficiaryBankCountryIso2 | 2х буквенный ISO-код страны банка бенефициара | RU |
beneficiaryBankName | Наименование банка бенефициара | ПАО СБЕРБАНК |
beneficiaryBankPlace | Местонахождение банка бенефициара | MOSKVA |
beneficiaryBankSwift | SWIFT-код банка бенефициара | ABNARUMMSPB |
beneficiaryBeiCode | BEI-код (SWIFT-код) | AAAAAAAA |
beneficiaryCountryDigital | Цифровой код страны бенефициара | 643 |
beneficiaryCountryIso2 | 2х буквенный ISO-код страны бенефициара | RU |
beneficiaryCountryName | Наименование страны бенефициара на русском языке (краткое наименование) | Россия |
beneficiaryInn | ИНН бенефициара | 222201236445 |
beneficiaryName | Наименование бенефициара | EMIRP |
beneficiaryPlace | Город (месторасположение) бенефициара | MOSKVA |
chargesType | Тип комиссии за перевод: BEN, SHA или OUR | BEN |
date | Дата документа | 2019-10-16 |
externalId | Идентификатор документа в организации-партнере (UUID) | 619e25cf-dc0b-4420-8957-1b94bf29f145 |
iMediaBankAddress | Адрес банка-посредника | SWEDEN HOUSE |
iMediaBankCountryDigital | Цифровой код страны банка-посредника | 643 |
iMediaBankCountryIso2 | 2х буквенный ISO-код страны банка-посредника | RU |
iMediaBankName | Наименование банка-посредника | ABN AMRO BANK A.O. |
iMediaBankPlace | Город банка-посредника | ST. PETERSBURG |
iMediaBankSwift | SWIFT-код банка-посредника | ABNARUMMSPB |
iMediaClearingCode.clearingCode | Клиринговый код банка посредника | 111111 |
iMediaClearingCode.countryCode | Обозначение национального клирингового кода банка-посредника | UA |
iMediaClearingCode.shortName | Сокращенное наименование национального клирингового кода | |
iMediaClearingCode.symbol | Обозначение национального клирингового кода банка-посредника | UA |
iMediaFilialBankName | Наименование филиала банка-посредника | ОСБ1 |
inn | ИНН клиента | 1182079004 |
option50a | Опция "K" для поля 50а | K |
option56a | Опция "A", "D" для поля 56а | A |
option57a | Опция "A", "D" для поля 57а | A |
option59a | Опция "А" для поля 59а или «без опции» | A |
orgName | Наименование организации клиента | Организация YUaegpVCyvHROOE |
payerAccount | Счет плательщика | 40702840775470463045 |
payerAddress | Адрес плательщика | UL.DOBROLIUBOVA,D.18,OF.III |
payerBankBic | БИК банка плательщика | 044525225 |
payerBankPlace | Местонахождение банка плательщика | MOSKVA |
payerCountryDigital | Цифровой код страны перевододателя | 643 |
payerCountryIso2 | 2х буквенный ISO-код страны перевододателя | RU |
payerCountryName | Наименование страны перевододателя на русском языке (краткое наименование) | Россия |
payerName | Международное наименование плательщика | LLC COMPANY |
payerPlace | Город (местонахождение) плательщика | MOSKVA |
paymentDetails | Назначение платежа | ABCD |
paymentDirection | Направление платежа (Платеж внутри или вне СБРФ): 1-внутри, 0-вне | 1 |
rateAgree | С курсом проведения конверсионной операции согласны | true |
urgent | Срочность | false |
TABLES | ||
Table | 23E: Код инструкции | Codes23e |
code | Код инструкции | TELE |
description | Описание | Описание |
info | Дополнительная информация | ИНФО |
# | Разделитель |
Пример дайджеста
addInfo=Примечание
additionalInfo=Информация получателю платежа
amountTransfer.amount=1.00
amountTransfer.currencyCode=840
amountTransfer.currencyName=USD
authPersonName=Иванов Алексей Сергеевич
authPersonTelfax=+74951234567
b77info=Информация для регулирующих органов
beneficiaryAccount=40802840600000200000
beneficiaryAddress=UL.KUTUZOVSKAYA,D.2
beneficiaryBankAccount=40802840600000200000
beneficiaryBankAddress=ул. Вавилова, д. 19
beneficiaryBankBranchName=ОСБ1
beneficiaryBankClearingCode.clearingCode=111111
beneficiaryBankClearingCode.countryCode=UA
beneficiaryBankClearingCode.shortName=Сокращенное наименование национального клирингового кода
beneficiaryBankClearingCode.symbol=UA
beneficiaryBankCountryDigital=643
beneficiaryBankCountryIso2=RU
beneficiaryBankName=ПАО СБЕРБАНК
beneficiaryBankPlace=MOSKVA
beneficiaryBankSwift=ABNARUMMSPB
beneficiaryBeiCode=AAAAAAAA
beneficiaryCountryDigital=643
beneficiaryCountryIso2=RU
beneficiaryCountryName=Россия
beneficiaryInn=222201236445
beneficiaryName=EMIRP
beneficiaryPlace=MOSKVA
chargesType=BEN
date=2019-11-26
externalId=fa1dabed-d7c4-42c3-9c59-25cbf4724765
iMediaBankAddress=SWEDEN HOUSE
iMediaBankCountryDigital=643
iMediaBankCountryIso2=RU
iMediaBankName=ABN AMRO BANK A.O.
iMediaBankPlace=ST. PETERSBURG
iMediaBankSwift=ABNARUMMSPB
iMediaClearingCode.clearingCode=111111
iMediaClearingCode.countryCode=UA
iMediaClearingCode.shortName=Сокращенное наименование национального клирингового кода
iMediaClearingCode.symbol=UA
iMediaFilialBankName=ОСБ1
inn=7494979410
option50a=K
option56a=A
option57a=A
option59a=A
orgName=Организация LCMdmYRFBCUflhq
payerAccount=40702840459430282265
payerAddress=UL.DOBROLIUBOVA,D.18,OF.III
payerBankBic=044525225
payerBankPlace=MOSKVA
payerCountryDigital=643
payerCountryIso2=RU
payerCountryName=Россия
payerName=LLC COMPANY
payerPlace=MOSKVA
paymentDetails=НАЗНАЧЕНИЕ ПЛАТЕЖА
paymentDirection=1
rateAgree=true
urgent=false
TABLES
Table=Codes23e
code=TELE
description=Описание
info=Дополнительная информация
#
Ресурс /v1/pay-doc-cur/{externalId}/state
Ресурс позволяет получить статус ранее отправленного электронного документа.
Шаги
1. Получить AccessToken.
2. Отправить запрос
Для получения статуса документа необходимо отправить GET-запрос (/v1/pay-doc-cur/{externalId}/state), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и идентификатор документа (externalId). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис PAY_DOC_CUR
.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
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/pay-doc-cur
/22a6dd81-103a-4d3a-8e9b0ba4b527f010/state'
Модель ответа
Наименование | Описание |
---|---|
DocState | |
bankComment (string, optional, read only) | Банковский комментарий к статусу документа, |
bankStatus (string, optional) | Статус документа, |
channelInfo (string, optional, read only) | Комментарий, специфичный для документа, полученного по данному каналу, |
Пример ответа
{
"bankStatus": "DELIVERED",
"bankComment": null,
"channelInfo": null,
}
Возможные статусы
Код состояние документа | Наименование статуса |
---|---|
Промежуточные статусы/Продолжать опрашивать | |
ACCEPTED | Принят |
ACCEPTED_BY_ABS | Принят АБС |
ACCEPTED_BY_CFE | Принят ВК |
ACCEPTED_RZK | Акцептован СБК |
CARD2 | Картотека №2 |
CORRESPONDENT_APPROVE_WAITING | Ожидает подтверждения контрагента |
CREATED | Создан |
CHECKERROR | Ошибка контроля |
CREATED_BANK | Создан Банком |
CHECKERROR_BANK | Ошибка контроля, Банк |
DELAYED | Приостановлен |
DELIVERED | Доставлен |
EXPORTED | Выгружен |
FRAUDSMS | Требуется подтверждение СМС-паролем |
FRAUDREVIEW | На проверке у специалиста банка |
FRAUDSENT | Отправлен во ФРОД |
FRAUDALLOW | Одобрен ФРОД |
FRAUDDENY | Отвергнут ФРОД |
IMPORTED | Импортирован |
IMPORTED_BANK | Импортирован Банком |
NEED_REVIEW | Необходимы исправления |
PROCESSING | В обработке |
PUBLISHED_BY_BANK | Издан Банком |
PARTSIGNED | Частично подписан |
PROCESSING_RZK | Обрабатывается СБК |
PROCESSED | Обработан |
READY_TO_SEND | Ждет отправки |
RETURNED | Возвращен |
RATE_CONFIRMATION | На подтверждении курса |
SIGNED | Подписан |
SENDING | Отправляется |
SENDED | Отправлен |
SENDING_TO_RZK | Отправляется в СБК |
SIGNED_BANK | Подписан Банком |
SENT_TO_ADMIN | Передан администратору |
TEMPLATE | Шаблон документа |
TRIED | Проверен |
TO_PROCESSING_RZK | К отправке в СБК |
TO_SIGN_IN_RZK | Подписывается в СБК |
TRIED_BY_CFE | Проверяется ВК |
USER_RESERVED | Зарезервированы логины |
VALIDEDS | ЭП/АСП верна |
Окончательные статусы/Прекратить опрос | |
CLOSED | Закрыт |
DELETED | Удален |
EXPORTED_TO_1C | Выгружен в реестр |
INVALIDEDS | ЭП/АСП не верна |
PROCESSERROR | Отказан |
REQUISITEERROR | Ошибка реквизитов |
REFUSEDBYBANK | Отвергнут Банком |
REFUSEDBYABS | Отказан АБС |
RECALL | Отозван |
RECALL_BY_BANK | Отозван Банком |
REFUSED_BY_CFE | Отказан ВК |
UNABLE_TO_DECRYPT | Ошибка шифрования |
UNABLE_TO_RECEIVE | Ошибка при приеме |
Окончательные(Успешные) статусы/Прекратить опрос | |
IMPLEMENTED | Исполнен |
Ресурс /v1/pay-doc-cur/{externalId}
Метод позволяет получить ранее отправленный электронный документа с информацией о причинах возврата/отказа электронного документа.
Шаги
1. Получить AccessToken.
2. Отправить запрос.
Для получения документа необходимо отправить GET-запрос (/v1/pay-doc-cur/{externalId}), в котором передать авторизационный токен к данным собственной/дочерней организации (Access Token) и идентификатор документа (externalId). Авторизационный токен передается в параметре Authorization заголовка запроса.
Чтобы получить доступ к ресурсу, необходимо передать в scope сервис PAY_DOC_CUR
.
Модель запроса
Наименование | Описание |
---|---|
Параметры заголовка | |
Authorization (String) | Access token, полученный через SSO Пример: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1 |
Параметры запроса | |
externalId (String) | Идентификатор документа, присвоенный партнером |
Пример запроса
curl -X GET --header 'Accept: application/json' --header
'Authorization: Bearer f8ad3141-b7e8-4924-92de-3de4fd0a464e-1'
'https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/pay-doc-cur/22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6'
Модель ответа
Соответствует модели запроса и ответа /v1/pay-doc-cur
Дополнительная информация
Подписание запроса транспортной подписью
Content-Type может содержать одно из двух значений:
- application/json – запрос без подписи
- application/jose – запрос, подписанный транспортной подписью
Если Content-Type имеет значение application/jose, то запрос должен содержать данные в виде компактной сериализации RFC 7515: JSON Web Signature (JWS).
JWS состоит из трёх частей:
- Заголовок (Header) - определяет алгоритм подписи и тип токена
- Полезная нагрузка (Payload) - содержит данные, которые необходимо защитить
- Электронная подпись (Signature) - вычисляется с использованием приватного ключа клиента
Base64Url(Header) || ’.’ || Base64Url(Payload) || ’.’ || Base64Url(Signature)
Каждая часть ответа, разделенная точкой, должна декодироваться отдельно. Для декодирования следует воспользоваться алгоритмом Base64URL Encoding.
Signature - это подпись данных приватной частью ключевой пары клиента (используется приватный ключ парный сертификату клиента). Подпись вычисляется по алгоритму указанному в Заголовке (Header) в параметре alg (в нашем случае gost34.10-2012) и вычисляется от исходных данных:
Base64Url(Header) || ‘.’ || Base64Url(Payload).
Формирование исходных данных для вычисления подписи описано в спецификации RFC 7515: JSON Web Signature (JWS).
При кодировании JWS используется преобразование Base64Url. Преобразование можно представить следующим образом:
Base64Url(x) := Base64(x).Split(‘=’)[0].Replace(‘+’, ’-’).Replace(‘/’, ’_’)
- функция Split(x), разбивает строку на части ([i] означает взятие i–ой части), используя символ разделитель x,
- функция Replace(x,y) заменяет все вхождения символа x на символ y.
Преобразование Base64Url, отличается от Base64 преобразования:
- В Base64Url не используется (опускается) padding, т.е. не добавляются знаки ‘=’ на конце закодированного содержимого Padding of Encoded Data.
- Используются другие вспомогательные символы Base 64 Encoding with URL and Filename Safe Alphabet.
BASE64URL | BASE64 |
---|---|
- (minus) | + |
_ (underline) | / |
Коды возврата
Код возврата | Описание кода возврата | Причина возникновения | |
---|---|---|---|
200 (GET-запрос) | ОК | ||
201 (POST-запрос) | CREATED | ||
Создан | |||
400 | DESERIALIZATION_FAULT | ||
Неверный формат запроса | Неверный формат запроса | ||
WORKFLOW_FAULT | |||
Для внешнего сервиса недоступны операции по счету: 40702810ХХХХХХХХХХХХ | Для внешнего сервиса недоступны операции по счету: счет не добавлен в список разрешенных в оферте; внешний сервис заблокирован в СББОЛ; счет указан неверно. Отсутствует доступный открытый рублевый расчетный счет у организации плательщика | ||
Документ с такими реквизитами уже существует | Документ с такими реквизитами уже существует. Проверка по номер документа в течении года. | ||
Не указан идентификатор сертификата подписи | Не указан идентификатор сертификата подписи(параметр kid заголовка JWS) | ||
Некорректный формат параметра kid заголовка JWS | Некорректный формат параметра kid заголовка JWS(ожидается UUID) | ||
VALIDATION_FAULT | |||
Ошибка валидации | Ошибка валидации данных запроса с указанием некорректных значений. Значения полей модели или параметров запроса не соответствуют допустимым и определенным в модели. | ||
SIGN_CHECK_EXCEPTION | |||
Подлинность подписи не установлена/Сертификат не обнаружен или не является активным | Ошибка возникает, если не удалось установить подлинность подписи | ||
401 | UNAUTHORIZED | ||
accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. | ||
403 | ACTION_ACCESS_EXCEPTION | ||
Операция не может быть выполнена: доступ к ресурсу запрещен | У пользователя нет прав на использование соответствующего сервиса Sber API, доступ к которому не предусмотрен настройками scope; У пользователя отсутствует оферта с внешним сервисом. | ||
415 | JWS_EXCEPTED | ||
В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization | Ошибка возникает, если в настройках внешних сервисов выставлен флаг "Требуется подпись для внешнего сервиса" | ||
500 | UNKNOWN_EXCEPTION | ||
Внутренняя ошибка сервера | |||
503 | UNAVAILABLE_RESOURCE_EXCEPTION | ||
Сервис временно недоступен | Проводятся технические работы |