Платежное поручение Сбербанк: образец

Ресурс /v1/pay-doc-cur

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

Предварительные действия


Выполнить OAuth-авторизацию, в результате которой получить авторизационный токен к данным клиента/собственной организации (Access Token, см. Получение ключа доступа к данным клиента).


Авторизационный токен передается в параметре Authorization заголовка запроса.

Нюансы по работе с ПП в дистанционном сервисе

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

  • наименование документа;
  • код, установленный формой ОКУД;
  • полное название предприятия-плательщика;
  • ИНН и БИК отправителя;
  • детальное описание всех реквизитов стороны-плательщика;
  • целевое предназначение проводимого платежа;
  • точная сумма и очередность для выплаты;
  • вид финансовой операции (указывается в соответствии с принятыми бухгалтерскими правилами);
  • печати компании-плательщика и подписи ответственных лиц.

Отдельным моментом стоит упомянуть о специализированном коде платежного поручения (или УИН, уникальном идентификатора начислений). Данный код включает в себя 20 либо 25 цифр и в обязательном порядке указывается в ПП, предназначенных для перевода средств в качестве взносов либо налогов. УИН вписывается в 22 пункт платежки, имеющий название «Код».

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

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

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

Создание такого типа финансового инструмента является базовым пунктом функционала для любого дистанционного сервиса. Клиенты банка, интересуясь, как получить платежное поручение в Сбербанке-Онлайн, могут использовать несколько вариантов оформления ПП. Чтобы получить возможность создания данного, крайне важного для работы любого предприятия онлайн-документа, следует провести несколько процедур. А именно:

  1. Пройти предварительную регистрацию и активацию в персональном кабинете дистанционного банковского сервиса.
  2. Иметь на руках все необходимые данные для полноценного оформления ПП.
  3. Предоставить подтверждение запланированного платежа.
  4. Дождаться поступления денег на счет получателя.

Чтобы грамотно и оперативно формировать необходимые документы для проведения запланированных платежей, следует знать правила работы с персональным кабинетом, а именно как формируется электронное платежное поручение. При работе в Сбербанке-Онлайн оформление ПП происходит во вкладке «Платежи/переводы», путем дальнейшего выбора пункта «Перевод организации».

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

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

  1. Авторизоваться в программе.
  2. Из перечня меню на главной странице выбрать и отметить подраздел «Услуги».
  3. Затем перейти по опции «Рублевые операции», далее «Платежные поручения».
  4. Программа сформирует список документов, где не составит труда выбрать и раскрыть интересующий и детально изучить его.
как распечатать платежное поручение в Сбербанк Онлайн
Электронное платежное поручение

Подписание запроса транспортной подписью

Для создания документа валютное платежное поручение необходимо отправить POST-запрос (/v1
/pay-doc-cur ), в котором необходимо передать авторизационный токен для доступа к данным клиента/собственной организации (Access Token) и реквизитный состав документа.

Авторизационный токен передается в параметре Authorization заголовка запроса.

Для создания необходимо отправить запрос POST на конечную точку /fintech/api/v1
/pay-doc-cur

1) application/json – запрос без подписи

2) application/jose – запрос, подписанный транспортной подписью

Если Content-Type имеет значение application/jose, то запрос должен содержать данные (реквизитный состав валютного платежного поручения) в виде компактной сериализации RFC 7515: JSON Web Signature (JWS).

JWS состоит из:

  1. Заголовка (Header)
  2. JSON-документа с реквизитным составом
  3. Подписи запроса (Signature)

Заголовок (Header), JSON-объект, содержащий алгоритм подписи, в данном случае gost34.10-2012; и UUID сертификата Партнёра парный приватному ключу, которым подписан запрос.

JSON-документ с реквизитным составом документа. Содержимое изменяется в зависимости от реквизитного состава документа.

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

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

При недостаточном уровне финансов, плательщик указывает очередность выполнения ПП, которые и исполняются по мере пополнения р/счета. Предоставленные в банк платежки действительны в течение 10 банковских суток. Об исполнении перевода сбербанковский служащий обязан уведомить плательщика в срок не позднее последующего рабочего дня (если иное не прописано в рамках банковского договора).

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

Формирование компактной сериализации JWS

1. Из документа формируется строковая последовательность (ключевой буфер или дайджест), включающая все значимые данные документа.

2. Затем от дайджеста вычисляется хеш по стандарту ГОСТ 34.11-94 с параметрами GostR3411-94-CryptoProParamSet.

3. Полученное значение хеш-функции подписывается по стандарту ГОСТ 34.10-2001 с параметрами GostR3410-2001-CryptoPro-B-ParamSet.

4. 64 байта, полученные в результате шага 3 и представленные в виде, описанном в пункте 3.1 RFC 4490 и есть сформированная электронная подпись.

Дайджест имеет текстовый формат, поэтому в значении полей могут быть переданы любые символы.

Значение поля в дайджесте должно совпадать со значением поля до его экранирования для передачи в json сообщение.

Пример обработки строки с экранированием

Пример обработки строки с экранированием
Исходная строка:
Общество с ограниченной ответственностью "Получатель"
 
Дайджест:
payeeName=Общество с ограниченной ответственностью "Получатель"
 
json:
"payeeName":"Общество с ограниченной ответственностью "Получатель""

Base64Url(Header) || ’.’ || Base64Url(Payload) || ’.’ || Base64Url(Signature)

Signature – это подпись данных приватной частью ключевой пары Партнера (используется приватный ключ парный сертификату Партнера с UUID, указанному в Заголовке (Header) в параметре kid). Подпись вычисляется по алгоритму указанному в Заголовке (Header) в параметре alg, в данном случае gost34.10-2012, и вычисляется от исходных данных: Base64Url(Header) || ‘.’ || Base64Url(Payload).

Формирование исходных данных для вычисления подписи описано в спецификации RFC 7515: JSON Web Signature (JWS).

Пример исходных данных для вычисления подписи
ewogICJhbGciOiAiZ29zdDM0LjEwLTIwMTIiLAogICJraWQiOiAiYjk5NDM4MWQtZDg4Ni00YjVhLTk0MDctMTY3Mjk1MjYxMGFhIgp9.CnsgIAogICJhbW91bnQiOjEwLAogICJkYXRlIjoiMjAxOC0wMS0zMVQwMzoxN
zo1MC4zMDlaIiwKICAiZXh0ZXJuYWxJZCI6ICJjMWFkMmQ4Ni04NmQyLTQxN2QtOWNjNC1iYzU3MDNmZDU3YjEiLAogICJudW1iZXIiOiIxMzAiLAogICJvcGVyYXRpb25Db2RlIjogIjAxIiwKICAiZGVsaXZlcnlLaW5
kIjogIjAiLAogICJwYXllZUJhbmtDb3JyQWNjb3VudCI6ICIzMDEwMTgxMDcwMDAwMDAwMDE4NyIsCiAgInBheWVlQmljIjoiMDQ0NTI1MTg3IiwKICAicGF5ZWVJbm4iOiI3NzAyMDcwMTM5IiwKICAicGF5ZWVOYW1lI
jogItCS0KLQkSDQn9CQ0J4iLAogICJwYXllZUFjY291bnQiOiI0MDcwMjgxMDcwMDAwMDAwMDAwMSIsCiAgInBheWVyQWNjb3VudCI6ICI0MDcwMjgxMDczODE3MDAyMTIzMyIsCiAgInBheWVyQmFua0NvcnJBY2NvdW5
0IjogIjMwMTAxODEwNDAwMDAwMDAwMjI1IiwKICAicGF5ZXJCaWMiOiIwNDQ1MjUyMjUiLAogICJwYXllcklubiI6Ijc3MzM4MTI5MjAiLAogICJwYXllck5hbWUiOiLQntCe0J4g0JzQtdC0INCt0LrRgdC_0YDQtdGB0
YEiLAogICJwcmlvcml0eSI6ICI1IiwKICAicHVycG9zZSI6ICLQndCw0LfQvdCw0YfQtdC90LjQtSDQv9C70LDRgtC10LbQsC4g0J3QlNChINC90LXRgi4iCn0=
Пример вычисленной подписи
SNM2l3cktEuhlcbvxM49v3Mk9vNtgvQfG_JR4bHhDc5dDZMwDkmNdesZ9TGHk7lFQHp_zoTH8KBSDbb-PmTn6g
Пример сформированной компактной сериализации JWS
ewogICJhbGciOiAiZ29zdDM0LjEwLTIwMTIiLAogICJraWQiOiAiYjk5NDM4MWQtZDg4Ni00YjVhLTk0MDctMTY3Mjk1MjYxMGFhIgp9.CnsgIAogICJhbW91bnQiOjEwLAogICJkYXRlIjoiMjAxOC0wMS0zMVQwMzoxNz
o1MC4zMDlaIiwKICAiZXh0ZXJuYWxJZCI6ICJjMWFkMmQ4Ni04NmQyLTQxN2QtOWNjNC1iYzU3MDNmZDU3YjEiLAogICJudW1iZXIiOiIxMzAiLAogICJvcGVyYXRpb25Db2RlIjogIjAxIiwKICAiZGVsaXZlcnlLaW5kI
jogIjAiLAogICJwYXllZUJhbmtDb3JyQWNjb3VudCI6ICIzMDEwMTgxMDcwMDAwMDAwMDE4NyIsCiAgInBheWVlQmljIjoiMDQ0NTI1MTg3IiwKICAicGF5ZWVJbm4iOiI3NzAyMDcwMTM5IiwKICAicGF5ZWVOYW1lIjog
ItCS0KLQkSDQn9CQ0J4iLAogICJwYXllZUFjY291bnQiOiI0MDcwMjgxMDcwMDAwMDAwMDAwMSIsCiAgInBheWVyQWNjb3VudCI6ICI0MDcwMjgxMDczODE3MDAyMTIzMyIsCiAgInBheWVyQmFua0NvcnJBY2NvdW50Ijo
gIjMwMTAxODEwNDAwMDAwMDAwMjI1IiwKICAicGF5ZXJCaWMiOiIwNDQ1MjUyMjUiLAogICJwYXllcklubiI6Ijc3MzM4MTI5MjAiLAogICJwYXllck5hbWUiOiLQntCe0J4g0JzQtdC0INCt0LrRgdC_0YDQtdGB0YEiLA
ogICJwcmlvcml0eSI6ICI1IiwKICAicHVycG9zZSI6ICLQndCw0LfQvdCw0YfQtdC90LjQtSDQv9C70LDRgtC10LbQsC4g0J3QlNChINC90LXRgi4iCn0=.SNM2l3cktEuhlcbvxM49v3Mk9vNtgvQfG_JR4bHhDc5dDZMw
DkmNdesZ9TGHk7lFQHp_zoTH8KBSDbb-PmTn6g

Примечание:

Следует отметить, что при кодировании JWS используется преобразование Base64Url, отличающееся от Base64 преобразования. Условно это преобразование можно представить следующим образом:

Base64Url(x) := Base64(x).Split(‘=’)[0].Replace(‘ ’, ’-’).Replace(‘/’, ’_’)

здесь функция Split(x), разбивает строку на части ([i] означает взятие i–ой части), используя символ разделитель x, функция Replace(x,y) заменяет все вхождения символа x на символ y.

Преобразование BASE64URL, отличается от BASE64 преобразования:

  1. Используются другие вспомогательные символы Base 64 Encoding with URL and Filename Safe Alphabet.
BASE64URL BASE64
– (minus)
_ (underline) /

2. В BASE64URL не используется (опускается) padding, т.е. не добавляются знаки ‘=’ на конце закодированного содержимого Padding of Encoded Data

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

Код возврата Расшифровка кода возврата Описание кода возврата Причина возникновения
201 CREATED Создан  
202 SC_ACCEPTED Операция не завершена полностью Документ создан, сохранён, но не подписан
400 DESERIALIZATION_FAULT Неверный формат запроса Неверный формат запроса
WORKFLOW_FAULT Документ с такими реквизитами уже существует Документ с такими реквизитами уже существует. Проверка по номер документа в течении года.
Не указан идентификатор сертификата подписи Не указан идентификатор сертификата подписи(параметр 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 Операция не может быть выполнена: доступ к ресурсу запрещён
  • У пользователя нет прав на использование соответствующего сервиса Fintech API, доступ к которому не предусмотрен настройками scope;
  • У пользователя отсутствует оферта с внешним сервисом.
415 JWS_EXCEPTED В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization
  • Ошибка возникает, если в настройках внешних сервисов выставлен флаг “Требуется подпись для внешнего сервиса”
500 UNKNOWN_EXCEPTION Внутренняя ошибка сервера  

Выводы

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

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

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

В дайджесте не указываются значения 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 Дополнительная информация ИНФО
# Разделитель

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

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

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

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

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

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

Пример

Пример
{
  "alg":"gost34.10-2012",
  "kid":"b994381d-d886-4b5a-9407-1672952610aa"
}
Пример
{
  "addInfo": "Примечание",
  "additionalInfo": "/CCTFDR/",
  "amountDebitTotal": 1.01,
  "amountTransfer": {
    "amount": 1.01,
    "currencyCode": "840",
    "currencyName": "USD"
  },
  "amountTransferTotal": 1.01,
  "authPersonName": "Иванов Иван Иванович",
  "authPersonTelfax": "4955005550",
  "b77info": "/BENEFRES/",
  "bankComment": "string",
  "bankStatus": "string",
  "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": "CurrencyOperationDetails"
    }
  ],
  "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
}

Base64Url(x) := Base64(x).Split(‘=’)[0].Replace(‘ ’, ’-’).Replace(‘/’, ’_’)

здесь функция Split(x), разбивает строку на части ([i] означает взятие i–ой части), используя символ разделитель x, функция Replace(x,y) заменяет все вхождения символа x на символ y.

Преобразование BASE64URL, отличается от BASE64 преобразования:

  1. Используются другие вспомогательные символы Base 64 Encoding with URL and Filename Safe Alphabet.
BASE64URL BASE64
– (minus)
_ (underline) /

2. В BASE64URL не используется (опускается) padding, т.е. не добавляются знаки ‘=’ на конце закодированного содержимого Padding of Encoded Data

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

Код возврата Расшифровка кода возврата Описание кода возврата Причина возникновения
201 CREATED Создан  
202 SC_ACCEPTED Операция не завершена полностью Документ создан, сохранён, но не подписан
400 DESERIALIZATION_FAULT Неверный формат запроса Неверный формат запроса
WORKFLOW_FAULT Документ с такими реквизитами уже существует Документ с такими реквизитами уже существует. Проверка по номер документа в течении года.
Не указан идентификатор сертификата подписи Не указан идентификатор сертификата подписи(параметр 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 Операция не может быть выполнена: доступ к ресурсу запрещён
  • У пользователя нет прав на использование соответствующего сервиса Fintech API, доступ к которому не предусмотрен настройками scope;
  • У пользователя отсутствует оферта с внешним сервисом.
415 JWS_EXCEPTED В соответствии с текущими настройками сервиса с clientId=%s необходимо использовать запрос в формате JWS Compact Serialization
  • Ошибка возникает, если в настройках внешних сервисов выставлен флаг “Требуется подпись для внешнего сервиса”
500 UNKNOWN_EXCEPTION Внутренняя ошибка сервера  
Понравилась статья? Поделиться с друзьями:
Финансовый вестник
Adblock detector