"Стандарт Банка России "Открытые банковские интерфейсы. Общие положения"
ЦЕНТРАЛЬНЫЙ БАНК РОССИЙСКОЙ ФЕДЕРАЦИИ
СТАНДАРТ БАНКА РОССИИ
ОТКРЫТЫЕ БАНКОВСКИЕ ИНТЕРФЕЙСЫ
ОБЩИЕ ПОЛОЖЕНИЯ
Дата введения: 2020-10-23
2. Введение
Настоящий Стандарт содержит принципы и рекомендации по обмену данными для осуществления взаимодействия через Открытые банковские интерфейсы.
3. Область применения
Настоящий Стандарт рекомендован к использованию организациями при обмене финансовыми сообщениями, связанными с:
- получением информации о банковском счете;
- переводом денежных средств в валюте Российской Федерации.
Настоящий Стандарт предназначен для:
- участников получения информации о банковском счете (банки и их клиенты, а также Сторонние поставщики <1>, <2>);
--------------------------------
<1> Определение понятия вводится в 6-м разделе текущего документа.
<2> Получают доступ к информации с согласия владельца счета.
- участников перевода денежных средств (банки и их клиенты, а также Сторонние поставщики <3>);
--------------------------------
<3> Получают доступ к счету с согласия владельца счета.
- разработчиков информационного и программного обеспечения.
Положения настоящего Стандарта применяются на добровольной основе.
По предложениям участников среды Открытых банковских интерфейсов настоящий Стандарт может дополняться принятыми в международной практике ролями и сценариями.
4. Термины и определения
В настоящем документе применяются следующие термины и определения:
Наименование
Описание
API (Application Programming Interface)
Набор процедур, протоколов и инструментов для создания программных приложений. API определяет, как программные компоненты должны взаимодействовать
Открытые банковские интерфейсы
Общедоступные интерфейсы прикладного программирования (API), которые предоставляют разработчикам программный доступ к финансовым данным в финансовых сервисах
Пользователь
Физическое или юридическое лицо, являющееся плательщиком или получателем средств
Среда Открытых банковских интерфейсов, Среда
Комплекс стандартов Открытых банковских интерфейсов, управление, системы, процессы, безопасность и процедуры, используемые для поддержки участников
Участники среды Открытых банковских интерфейсов
Пользователи, банки и прочие организации, которые участвуют в создании и развитии среды Открытых банковских интерфейсов
Плательщик
Пользователь, осуществляющий перевод денежных средств (либо от имени которого осуществляется перевод денежных средств)
Получатель средств
Пользователь, в пользу которого осуществляется перевод денежных средств
Стандарт ISO 20022 <4>
Международный стандарт обмена электронными сообщениями между организациями финансовой отрасли
Многофакторная аутентификация Пользователя
Аутентификация, которая основана на использовании двух или более элементов, классифицированных как знания, владение и неотъемлемость. Эти пункты являются независимыми, поскольку нарушение одного не угрожает надежности других
YAML
Формат сериализации данных, концептуально близкий к языкам разметки, но ориентированный на удобство ввода-вывода типичных структур данных многих языков программирования
--------------------------------
<4> Детальное описание можно посмотреть на сайте: https://www.iso20022.org/.
Таблица 1. Термины и определения
5. Общие положения
Информационный обмен между банками и Сторонними поставщиками осуществляется посредством электронных сообщений, формируемых на стороне банков и на стороне Сторонних поставщиков посредством Открытых банковских интерфейсов.
5.1. Структура комплекса стандартов
Начальная версия комплекса стандартов по описанию Среды Открытых банковских интерфейсов состоит из следующих документов:
1. "Открытые банковские интерфейсы. Общие положения" - текущий документ, описывающий общие правила построения среды Открытых банковских интерфейсов, участников и их роли, принципы построения взаимодействия и сценарии использования.
2. "Открытые банковские интерфейсы. Безопасность финансовых (банковских) операций. Прикладные программные интерфейсы обеспечения безопасности финансовых сервисов на основе протокола OpenID" - документ, описывающий технические детали протокола аутентификации и обеспечения информационной безопасности взаимодействия через интерфейсы Среды.
3. "Открытые банковские интерфейсы. Инициирование перевода денежных средств клиента третьей стороной в валюте Российской Федерации" - документ, описывающий технические детали взаимодействия через интерфейсы Среды для Стороннего поставщика с ролью СППУ <5>.
--------------------------------
<5> Определение роли вводится в 6-м разделе текущего документа.
4. "Открытые банковские интерфейсы. Получение информации о счете клиента третьей стороной" - документ, описывающий технические детали взаимодействия через интерфейсы Среды для Стороннего поставщика с ролью СПИУ <6>.
--------------------------------
<6> Определение роли вводится в 6-м разделе текущего документа.
Комплекс стандартов Открытых банковских интерфейсов используется ППУ <7> для разработки интерфейсов, которые предоставляют Сторонним поставщикам (СППУ и СПИУ) доступ к счетам, управляемым ППУ, с согласия Пользователя.
--------------------------------
<7> Определение роли вводится в 6-м разделе текущего документа.
5.2. Принципы архитектуры
Архитектура среды Открытых банковских интерфейсов соответствует концепции RESTful API <8>.
--------------------------------
<8> Детальное описание подхода можно посмотреть на сайте: https://restfulapi.net/.
Данная концепция была выбрана на основании отзывов участников рынка, а также согласно опыту мировых практик.
5.3. Использование международного стандарта ISO 20022
Принципы, которые применялись при использовании элементов и компонентов сообщений из стандарта ISO 20022:
- следование семантике сообщений из ISO 20022;
- уменьшение иерархии схем сообщений API для удобства участников среды Открытых банковских интерфейсов;
- адаптация наименований и состава элементов схем сообщений API для удобства участников среды Открытых банковских интерфейсов;
- использование типов данных элементов сообщений из ISO 20022.
5.4. Управление Стандартами Открытых банковских интерфейсов
Управление Стандартами Открытых банковских интерфейсов осуществляется Банком России совместно с Ассоциацией развития финансовых технологий (далее - АФТ).
Согласование, утверждение и публикация контрольных экземпляров Стандартов Открытых банковских интерфейсов осуществляется Банком России.
АФТ взаимодействует с подразделениями Банка России, федеральными органами исполнительной власти Российской Федерации, профессиональными объединениями участников рынка, национальными и международными комитетами по стандартизации, центральными (национальными) банками государств - участников интеграционных объединений с участием Российской Федерации, Евразийской экономической комиссией, а также другими организациями.
АФТ обладает специализированной автоматизированной системой с необходимым набором функций для осуществления разработки, ведения и публикации Стандартов Открытых банковских интерфейсов, тестовой площадкой для апробации вносимых в них изменений, а также обеспечивает сопровождение специализированного портала по Стандартам Открытых банковских интерфейсов в сети Интернет.
5.5. Изменения Стандартов Открытых банковских интерфейсов
Изменения Стандартов Открытых банковских интерфейсов могут происходить в зависимости от:
- потребностей участников рынка;
- изменений законодательства Российской Федерации (например, изменений в федеральных законах и (или) нормативных актах Банка России).
Изменения Стандартов Открытых банковских интерфейсов происходят следующим образом:
- изменения выносятся на рассмотрение членами АФТ;
- при положительном решении о принятии изменений на площадке АФТ изменения выносятся на рассмотрение 3-м подкомитетом (Технологии основных финансовых (банковских) операций) Технического комитета 122 Банка России;
- при положительном решении Технического комитета редакции Стандартов утверждаются и публикуются Банком России.
Управление процессом обратной совместимости между разными версиями Стандартов описано в технической части Стандартов Открытых банковских интерфейсов и осуществляется АФТ.
5.6. Независимость Открытых банковских интерфейсов от способа платежа
Открытые банковские интерфейсы разрабатываются таким образом, чтобы они не зависели от отдельно взятой платежной схемы, которая отвечает за проведение платежа.
Как результат, формат предоставления данных не проектируется так, чтобы они соответствовали только отдельно взятым сообщениям.
5.7. Физический уровень описания сообщений
На физическом уровне при проектировании сообщений используется язык описания интерфейсов OpenAPI 3-й версии <9> в формате YAML <10>.
--------------------------------
<9> Детальное описание подхода можно посмотреть на сайте: https://swagger.io/specification/.
<10> Детальное описание подхода можно посмотреть на сайте: https://yaml.org/spec/1.2/spec.html.
5.8. Защита прав потребителей
Участники среды Открытых банковских интерфейсов обеспечивают раскрытие минимального объема информации Пользователям, который включает помимо прочего следующую информацию:
- полное и (или) сокращенное (при наличии) фирменное наименование участника среды Открытых банковских интерфейсов, адрес в пределах места нахождения, адрес электронной почты, контактный телефон, адрес официального сайта в информационно-телекоммуникационной сети "Интернет" (при наличии);
- порядок получения услуги (сервиса) Пользователем, возможные риски Пользователя;
- права Пользователя и порядок действий при возникновении технических неполадок на стороне участника среды Открытых банковских интерфейсов;
- способы и адреса направления обращений (жалоб) Пользователем;
- способы защиты прав Пользователя;
- порядок и срок предоставления по требованию Пользователя документов (в т.ч. в форме электронного документа), связанных с оказанием услуг (предоставлением сервиса) участником среды Открытых банковских интерфейсов;
- порядок предоставления Пользователю экземпляра договора и (или) иного документа, подтверждающего оказание услуги (предоставление сервиса) участником среды Открытых банковских интерфейсов в письменной форме (в т.ч. в форме электронного документа);
- способы направления информации Пользователю в связи с оказанием услуги (предоставления сервиса) участником среды Открытых банковских интерфейсов;
- сведения о распределении ответственности между участниками среды Открытых банковских интерфейсов, а также третьими лицами, привлекаемыми участниками среды Открытых банковских интерфейсов, для оказания услуги (сервиса) за неисполнение либо ненадлежащее исполнение обязанностей в рамках оказания услуг (предоставления сервиса) Пользователю;
- ограничения (при наличии), условия и способы использования услуг (сервиса) участника среды Открытых банковских интерфейсов, изменения условий и отказа от услуг (сервиса) Пользователем;
- порядок возмещения убытков, понесенных Пользователем;
- сведения о предполагаемых сроках восстановления режима оказания услуг (предоставления сервиса) в случае возникновения технических неполадок;
- требований, предъявляемых участником среды Открытых банковских интерфейсов к иным участникам среды Открытых банковских интерфейсов, во взаимодействии с которыми осуществляется оказание услуги (предоставление сервиса) Пользователю.
Участник среды Открытых банковских интерфейсов обеспечивает соответствие порядка раскрытия информации Пользователю следующим критериям:
- обеспечение возможности доступа к информации Пользователем на равных правах и в равном объеме;
- исключение раскрытия информации, которая может повлечь неоднозначное толкование свойств услуги (сервиса);
- обеспечение изложения информации на русском языке (за исключением указания обозначений на иностранном языке, являющихся товарными знаками) в доступной форме (с использованием удобочитаемых шрифтов, форматов предоставления);
- обеспечение возможности на основании волеизъявления Пользователя получать уведомление о совершении операции/оказании услуги в порядке и на условиях, установленных договором, но не позднее одного дня со дня совершения операции/оказания услуги (если иное не предусмотрено законодательством Российской Федерации);
- обеспечение возможности получения по требованию Пользователя документов (в т.ч. в форме электронного документа), связанных с оказанием услуги (предоставлением сервиса);
- обеспечение возможности получения экземпляра договора и (или) иного документа, подтверждающего оказание услуги (предоставления сервиса) Пользователем.
Участник среды Открытых банковских интерфейсов обеспечивает:
- конфиденциальность и защиту персональных данных Пользователя в случае, если получателем услуги (сервиса) выступает физическое лицо;
- защиту имущественных интересов Пользователя в части несанкционированного совершения операций с денежными средствами и электронными денежными средствами пользователя;
- уведомление Пользователя о распределении ответственности между участниками среды Открытых банковских интерфейсов, а также иными третьими лицами за неисполнение либо ненадлежащее исполнение обязанностей в рамках оказания услуги (предоставления сервиса);
- использование только целевой необходимой и достаточной информации при совершении операций (предоставлении сервиса) посредством Открытых банковских интерфейсов;
- исключение неавторизованных Пользователем операций;
- исключение использования для целей формирования предложения Пользователю информации, на обработку которой явным образом не получено согласие от Пользователя;
- исключение возможности обуславливать предоставление одной услуги (сервиса) в зависимости от предоставления иной услуги (сервиса);
- исключение возможности потери контроля над данными, переданными Пользователем участникам среды Открытых банковских интерфейсов для целей оказания услуги (предоставления сервиса);
- возможность Пользователя осуществлять оплату услуги (сервиса) в доступной для Пользователя форме;
- исключение навязывания заведомо невыгодных условий оказания услуг (сервиса) Пользователю.
6. Роли и участники процесса
Среда Открытых банковских интерфейсов определяет следующих участников:
Пользователь - физическое или юридическое лицо, являющееся плательщиком или получателем средств.
Сторонний поставщик - юридическое лицо, использующее Открытые банковские интерфейсы для доступа к банковскому счету Пользователя в целях предоставления информационных услуг (СПИУ) или для осуществления переводов денежных средств (платежей) (СППУ).
ППУ (Поставщик платежных услуг) - кредитная организация или ее филиал, обслуживающая счет Пользователя и публикующая Открытые банковские интерфейсы.
Среда Открытых банковских интерфейсов определяет следующие роли участников:
СПИУ (Сторонний поставщик информационных услуг) - юридическое лицо, предоставляющее Пользователю услугу получения информации о банковском счете (счетах) Пользователя.
СППУ (Сторонний поставщик платежных услуг) - юридическое лицо, предоставляющее Пользователю услугу по инициированию перевода денежных средств.
Среда Открытых банковских интерфейсов определяет следующие взаимоотношения между участниками и ролями:
Роль\Участник
Пользователь
ППУ
Сторонний поставщик
СПИУ
Нет
Да
Да
СППУ
Нет
Да
Да
Таблица 2. Роли и участники
Открытые банковские интерфейсы регламентируют взаимодействие только между следующими участниками:
- ППУ предоставляет Открытые банковские интерфейсы для Стороннего поставщика. Получает сообщения запросов через свои Открытые банковские интерфейсы и отправляет соответствующие ответные сообщения Стороннему поставщику.
- Сторонний поставщик может получить доступ к счету Пользователя, управляемому ППУ через Открытые банковские интерфейсы, при согласии Пользователя. Сторонний поставщик отправляет сообщения запроса через Открытые банковские интерфейсы ППУ и получает соответствующие ответные сообщения от этого ППУ.
7. Принципы построения взаимодействия
На следующем рисунке показано логическое месторасположение Открытых банковских интерфейсов в создаваемой Среде:
Рисунок 1. Принципы построения взаимодействия
Между участниками среды Открытых банковских интерфейсов возможны следующие типовые взаимодействия:
1. Предоставление Пользователем ППУ долгосрочного согласия на использование его данных Сторонним поставщиком.
2. Предоставление Пользователем ППУ краткосрочного согласия на инициирование перевода денежных средств Сторонним поставщиком.
3. Обмен данными между Сторонним поставщиком и ППУ с согласия Пользователя.
7.1. Предоставление Пользователем долгосрочного согласия
Долгосрочное согласие дается Пользователем на стороне ППУ для осуществления обмена данными между Сторонним поставщиком и ППУ на длительный срок, без непосредственного участия Пользователя. После предоставления такого согласия взаимодействие происходит следующим образом: Пользователь - Сторонний поставщик, Сторонний поставщик - ППУ.
В любой момент Пользователь может отозвать долгосрочное согласие как через Открытые банковские интерфейсы, так и через предоставляемые средства ППУ.
Долгосрочное согласие на получение данных о банковском счете схематически можно показать следующим образом:
Рисунок 2. Предоставление Пользователем долгосрочного согласия
7.2. Предоставление Пользователем краткосрочного согласия
Краткосрочное согласие дается Пользователем при необходимости для перевода денежных средств с его банковского счета. Краткосрочное согласие является подтверждением инициирования перевода денежных средств Сторонним поставщиком.
Краткосрочное согласие на инициирование платежной услуги схематически можно показать следующим образом:
Рисунок 3. Предоставление Пользователем краткосрочного согласия
7.3. Обмен данными между Сторонним поставщиком и ППУ
Обмен данными между Сторонним поставщиком и ППУ происходит после предоставления Пользователем ППУ краткосрочного или долгосрочного согласия.
На следующем рисунке показано взаимодействие Стороннего поставщика и ППУ через Открытые банковские интерфейсы:
Рисунок 4. Обмен данными между Сторонним поставщиком и ППУ
Как уже упоминалось выше, ППУ может также выступать в одной из ролей Стороннего поставщика (СПИУ и (или) СППУ) и может получать доступ к Открытым банковским интерфейсам других ППУ.
8. Взаимодействие участников процесса предоставления данных
Открытые банковские интерфейсы поддерживают следующие сценарии использования обмена данными:
N
Сценарий использования
Типовое взаимодействие
Роль Стороннего поставщика
Участие Пользователя
Документ технического стандарта
1
Инициирование одиночного перевода денежных средств
Предоставление Пользователем краткосрочного согласия
Обмен данными между Сторонним поставщиком и ППУ
СППУ
Да
Открытые банковские интерфейсы. Инициирование перевода денежных средств клиента третьей стороной в валюте Российской Федерации:
- Внутренние переводы денежных средств, спецификация API
2
Создание долгосрочного согласия на получение информации о счете
Предоставление Пользователем долгосрочного согласия
СПИУ
Да
Открытые банковские интерфейсы. Получение информации о счете клиента третьей стороной:
- Согласие на доступ к счету, спецификация API
3
Получение списка счетов, к которым получен доступ
Обмен данными между Сторонним поставщиком и ППУ
СПИУ
Нет
Открытые банковские интерфейсы. Получение информации о счете клиента третьей стороной:
- Согласие на доступ к счету, спецификация API;
- Счета, спецификация API
4
Получение детальной информации о счете, к которому получен доступ
Обмен данными между Сторонним поставщиком и ППУ
СПИУ
Нет
Открытые банковские интерфейсы. Получение информации о счете клиента третьей стороной:
- Согласие на доступ к счету, спецификация API;
- Счета, спецификация API
5
Получение баланса по счету, к которому получен доступ
Обмен данными между Сторонним поставщиком и ППУ
СПИУ
Нет
Открытые банковские интерфейсы. Получение информации о счете клиента третьей стороной:
- Согласие на доступ к счету, спецификация API;
- Баланс, спецификация APIs
6
Получение списка транзакций по счету, к которому получен доступ
Обмен данными между Сторонним поставщиком и ППУ
СПИУ
Нет
Открытые банковские интерфейсы. Получение информации о счете клиента третьей стороной:
- Согласие на доступ к счету, спецификация APIs;
- Транзакции, спецификация API
Таблица 3. Базовые сценарии использования Открытых банковских интерфейсов
Также Открытые банковские интерфейсы поддерживают технические сценарии использования согласно RESTful API - подходу, которые могут не использоваться в рамках вышеупомянутых сценариев использования. Например, получение деталей объекта согласия или других созданных ресурсов. Детали технических сценариев использования подробно описаны в документах:
- Открытые банковские интерфейсы. Получение информации о счете клиента третьей стороной;
- Открытые банковские интерфейсы. Инициирование перевода денежных средств клиента третьей стороной в валюте Российской Федерации.
8.1. Инициирование одиночного перевода денежных средств
Этот сценарий используется для инициирования одиночной платежной услуги в форме перевода денежных средств по инициативе Плательщика.
Если Стороннего поставщика невозможно идентифицировать корректно через Открытые банковские интерфейсы, то ППУ отклонит запрос.
Если у Стороннего поставщика нет роли СППУ, то ППУ отклонит запрос.
На следующей схеме показаны высокоуровневые информационные потоки для инициирования одиночного перевода денежных средств:
Рисунок 5. Сценарий использования "Инициирование одиночного перевода денежных средств"
8.2. Создание долгосрочного согласия на получение информации о счете
Сторонний поставщик выполняет этот сценарий использования, чтобы получить доступ на получение данных в соответствии с другими сценариями использования доступными для роли СПИУ.
Если Стороннего поставщика невозможно идентифицировать корректно через Открытые банковские интерфейсы, то ППУ отклонит запрос.
Если у Стороннего поставщика нет роли СПИУ, то ППУ отклонит запрос.
С согласия Пользователя СПИУ может получить доступ к следующим сценариям:
- Получение списка счетов;
- Получение детальной информации о счете;
- Получение баланса по счету;
- Получение списка транзакций по счету.
Рисунок 6. Сценарий использования "Создание долгосрочного согласия на получение информации о счете"
8.3. Получение списка счетов
В этом сценарии использования Сторонний поставщик получает с ранее предоставленного долгосрочного согласия Пользователя список счетов Пользователя.
Если Стороннего поставщика невозможно идентифицировать корректно через Открытые банковские интерфейсы, то ППУ отклонит запрос.
Если у Стороннего поставщика нет роли СПИУ, то ППУ отклонит запрос.
На следующей схеме показаны высокоуровневые информационные потоки для получения списка счетов:
Рисунок 7. Сценарий использования "Получение списка счетов"
8.4. Получение детальной информации о счете
В этом сценарии использования Сторонний поставщик получает с ранее предоставленного долгосрочного согласия Пользователя детали счета Пользователя.
Если Стороннего поставщика невозможно идентифицировать корректно через Открытые банковские интерфейсы, то ППУ отклонит запрос.
Если у Стороннего поставщика нет роли СПИУ, то ППУ отклонит запрос.
На следующей схеме показаны высокоуровневые информационные потоки для получения детальной информации о счете:
Рисунок 8. Сценарий использования "Получение детальной информации о счете"
8.5. Получение баланса по счету
В этом сценарии использования Сторонний поставщик получает с ранее предоставленного долгосрочного согласия Пользователя баланс счета Пользователя.
Если Стороннего поставщика невозможно идентифицировать корректно через Открытые банковские интерфейсы, то ППУ отклонит запрос.
Если у Стороннего поставщика нет роли СПИУ, то ППУ отклонит запрос.
На следующей схеме показаны высокоуровневые информационные потоки для получения баланса по счету:
Рисунок 9. Сценарий использования "Получение баланса по счету"
8.6. Получение списка транзакций по счету
В этом сценарии использования Сторонний поставщик получает с ранее предоставленного долгосрочного согласия Пользователя транзакции по счету Пользователя.
Если Стороннего поставщика невозможно идентифицировать корректно через Открытые банковские интерфейсы, то ППУ отклонит запрос.
Если у Стороннего поставщика нет роли СПИУ, то ППУ отклонит запрос.
На следующей схеме показаны высокоуровневые информационные потоки для получения списка транзакций по счету:
Рисунок 10. Сценарий использования "Получение списка транзакций по счету"