Версия | Дата | Автор | Комментарий |
---|---|---|---|
1.0.0 | 13.08.2019 | АФТ | Создана первая версия документа. |
1.0.2 | 12.03.2020 | АФТ | Внесены изменения по модели взаимодействия. |
1.0.3 | 06.05.2020 | АФТ | Внесены изменения в порядок глав и подразделов. Добавлен метод аутентификации CIBA. |
1.0.4 | 15.05.2020 | АФТ | Откорректирована диаграмма верхнего уровня с целью упрощения восприятия, расширено ее описание. Добавлено определение Клиент. |
1.0.5 | 01.06.2020 | АФТ | Исключен метод авторизации клиента client_secret_jwt, все ссылки заменены на private_key_jwt. Генерация (но не передача) токена доступа добавлена как опция при ответе на запрос аутентификации с включением at_hash в ID Token. Скорректированы описания проверок в диаграммах последовательности счетов. Исключен устаревший параметр HTTP заголовка x-fapi-customer-acr. Исключены дублирующие определения и требования, а также определения и требования, изложенные в ФАПИ.СЕК. Раздел "Общий подход к формированию JWS" заменен на "Правила формирования JWT, JWS и JWE" с исключением описаний, дублирующих ФАПИ.СЕК. Понятие "Запрос авторизации" заменено на "Запрос аутентификации" в соответствии с определением ФАПИ.СЕК (5.4.2). В диаграммах последовательности скорректированы проверки и разбиты на группы. Внесены изменения в текст описания примеров. |
1.1.0 | 10.04.2021 | АФТ | Ссылки и определения приведены в соответствие с утвержденному ФАПИ.СЕК. Указано, что используется механизм аутентификации "private_key_jwt" (исключен альтернативный метод "tls_client_auth"). Исправлены ошибки в диаграммах. Заменены примеры. |
1.1.1 | 13.06.2021 | АФТ | Добавлено требование к заголовоку x-jws-signature |
Настоящий документ содержит описание технических требований к реализации профилей безопасности финансовых API чтения/записи данных и сценариев базового протокола OpenID Connect, применяемых при реализации Открытых банковских интерфейсов.
© Ассоциация развития финансовых технологий, 2022
Настоящие технические требования распространяется на программное обеспечение, реализующие профили безопасности для взаимодействия через Открытые банковские интерфейсы и применяются участниками среды Отрытых API при реализации профилей безопасности в части инициализации платежей и для получения информации о счете клиента третьей стороной.
Целью разработки данного документа является определение для участников Cреды Открытых банковских интерфейсов области реализации технических требований к профилям безопасностей Открытых API и сценариев базового протокола OpenID Connect Core, обеспечивающих безопасное и стабильное взаимодействие, защиту конфиденциальных данных их клиентов и пользователей.
Настоящие технические требования разработаны с учетом прохождение процедуры проверки на соответствие техническим требованиям Стандартов Открытых банковских интерфейсов (Приложение № 9 к Соглашению о соблюдении Стандартов Открытых банковских интерфейсов) и в соответствии с отраслевым стандартом СТО БР ФАПИ.СЕК-1.6-2023 БЕЗОПАСНОСТЬ ФИНАНСОВЫХ (БАНКОВСКИХ) ОПЕРАЦИЙ. Прикладные программные интерфейсы обеспечения безопасности финансовых сервисов на основе протокола OpenID. Требования.
Настоящие технические требования позволяют участникам среды Открытых API реализовать программные компоненты протокола OpenID Connect, криптографических средства и алгоритмы, обеспечивающие требуемый уровень информационной безопасности для предоставления доступа к конфиденциальной финансовой и персональной информации, которые прошли, либо на настоящий момент проходят процедуру одобрения со стороны Центрального Банка РФ и профильных организаций.
В настоящих технических требованиях использованы ссылки на следующие рекомендации и стандарты:
[ГОСТ Р 58833-2020] - ГОСТ Р "Защита информации. Идентификация и аутентификация. Общие положения"
[ФАПИ.СЕК] - Стандарт Банка России СТО БР СЕК-1.6-2023 : Безопасность финансовых (банковских) операций. Прикладные программные интерфейсы обеспечения безопасности финансовых сервисов на основе протокола OpenID. Требования
[ФАПИ.ПАОК] - Стандарт Банка России СТО БР ФАПИ.ПАОК-1.0-2023: Безопасность финансовых (банковских) операций. Прикладные программные интерфейсы. Обеспечение безопасности финансовых сервисов при инициации OpenID Connect клиентом потока аутентификации по отдельному каналу. Требования
[RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: https://tools.ietf.org/html/rfc6749
[RFC7515] - JSON Web Signature (JWS) [RFC7515]: https://tools.ietf.org/html/rfc7515
[RFC7519] - JSON Web Token (JWT) [RFC7519]: https://tools.ietf.org/html/rfc7519
[RFC7523] - JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [RFC7523]: https://tools.ietf.org/html/rfc7523
[RFC7521] - Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [RFC7521]: https://tools.ietf.org/html/rfc7521
[OIDC.core] - OpenID Connect Core 1.0 incorporating errata set 1 [OIDC.core]: https://openid.net/specs/openid-connect-core-1_0.html
[MTLS] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [MTLS]: https://tools.ietf.org/html/draft-ietf-oauth-mtls
[FAPILI] (Financial-grade API: Lodging Intent Pattern).
API (Application Programming Interface) — набор процедур, протоколов и инструментов для создания программных приложений. API определяет, как взаимодействуют программные компоненты.
Открытые банковские интерфейсы — общедоступные интерфейсы прикладного программирования (API), которые предоставляют разработчикам программный доступ к финансовым данным в финансовых сервисах.
Пользователь — физическое или юридическое лицо, являющееся плательщиком или получателем средств.
Сторонний поставщик — юридическое лицо, использующее Открытые банковские интерфейсы для доступа к банковскому счету Пользователя в целях предоставления информационных услуг (СПИУ) или для осуществления переводов денежных средств (платежей) (СППУ).
ППУ — кредитная организация или ее филиал, обслуживающая счет Пользователя и публикующая Открытые банковские интерфейсы.
СПИУ (Сторонний Поставщик Информационных Услуг) — юридическое лицо, предоставляющее Пользователю услугу получения информации о банковском счете (счетах) Пользователя.
СППУ (Сторонний Поставщик Платежных Услуг) — юридическое лицо, предоставляющее Пользователю услугу по инициированию перевода денежных средств.
Среда Открытых банковских интерфейсов — комплекс стандартов Открытых банковских интерфейсов, управление, системы, процессы, безопасность и процедуры, используемые для поддержки участников.
Участники среды Открытых банковских интерфейсов — Пользователи, банки, поставщики финансовых услуг и разработчики программного обеспечения, которые участвуют в создании и развитии среды Открытых банковских интерфейсов.
Клиент — приложение Стороннего поставщика в соответствии с терминологией OpenID Connect, выполняющее вызов Открытых банковских интерфейсов, предоставленных ППУ.
Кроме перечисленных выше, настоящий документ использует термины и определения, введенные в ФАПИ.СЕК и ФАПИ.ПАОК.
Взаимодействие участников регламентированы спецификацией ФАПИ.СЕК, где определены конечные точки и виды контроля доступ и представлены рекомендации по управлению профилями безопасности для доступа к конечным точкам, представленным на схеме.
Основными участниками взаимодействия являются:
Основным принципом архитектурного решения Открытых банковских интерфейсов, является гарантия достоверной аутентификации и полной ответственности участников информационного обмена, что должно обеспечивать возможность для ППУ доказать, что запрос на обработку операции через интерфейс Открытых банковских интерфейсов был получен от конкретного Стороннего Поставщика (СППУ или СПИУ), а также для Стороннего Поставщика иметь в распоряжении достоверные основания (гарантированные протоколом взаимодействия) того, что полученный в ответ на запрос инициирования платежной инструкции (либо запрос на доступ к информации по счету) токен доступа ассоциирован на стороне ППУ с исходным запросом и его содержанием.
Подписанный цифровой подписью и зашифрованный с использованием приватного ключа Поставщика услуг, объекта запроса, выполняя роль транслятора необходимых значений параметров запрашиваемого процесса аутентификации и выступает для ППУ продуктом применения криптографических средств, который будет гарантировать аутентификацию источника отправки запроса (приложение СППУ или СПИУ) и неизменности содержимого исходного объекта запроса.
Взаимодействие указанных участников регламентированы ФАПИ.СЕК, где определены виды контроля доступа, описанные ниже.
Кроме того, необходимо следовать рекомендациям по управлению процессами создания и регистрации приложений, а также управлению профилями для доступа к представленным на схеме конечным точкам.
Согласно спецификации OpenID Connect сервер авторизации должен поддерживать следующие конечные точки, реализующие протокол OpenID Connect. (список конечных точек Сервера авторизации может возвращаться при обращении к конечной точке Discovery):
Для осуществления взаимодействия в среде открытых API участники должны пройти процесс регистрации программного обеспечения, процедуры проверки на соответствие техническим требованиям Стандартов Открытых банковских интерфейсов на Сертификационном стенде и выпустить промышленные ключи.
Доступ к к публичным ключам участника осуществляется через конечную точку JWKS поставщика услуг OpenID (Сертификационный стенд), которая представляет их публичные сертификаты участников в виде "JSON Web Key".
В соответствии с разделом 5.4.4 ФАПИ.СЕК для регистрации на Сервере авторизации Сторонний поставщик посылает запрос на конечную точку регистрации клиентов в котором указываются свои метаданные. В случае если все запрошенные значения параметров Стороннего поставщика корректны, Сервер авторизации возвращает Стороннему поставщику ответ регистрации, содержащий его учетные данные (см. драфт документа https://wiki.openbankingrussia.ru/guides/oidc-dynamic-client-registration).
С целью определения конкретных способов защиты взаимодействия, в дополнение к профилям безопасности ФАПИ.СЕК, (определенным в главе 7. ФАПИ.СЕК) к компонентам архитектуры Открытых банковских API предъявляются следующие требования:
Включает в себя требования раздела 7.2.2 ФАПИ.СЕК.
Профиль Среды открытых Открытых банковских интерфейсов накладывает дополнительные требования, предъявляемые к Серверу авторизации:
Включает в себя требования раздела 7.3.2 ФАПИ.СЕК.
Профиль Среды Открытых банковских интерфейсов накладывает дополнительные требования, предъявляемые к Серверу ресурсов:
Включает в себя требования раздела 7.2.3 ФАПИ.СЕК.
Профиль среды Среды Открытых банковских интерфейсов накладывает дополнительные требования, предъявляемые к Клиенту, запрашивающему доступ к защищенным ресурсам:
В разделе 5.8.3 ФАПИ.СЕК определены требования к применению TLS для решения задач обеспечения аутентификации участников взаимодействия и защиты информационного обмена между ними. Эти требования должны выполняться в тех случаях, когда настоящий профиль безопасности предполагает использование TLS.
Тип доступа Client Credenial - используется для идентификации Стороннего поставщика в контексте, где отсутствует конечный Пользователь и где не требуется его согласие.
Поддержка данного типа разрешения на доступ, основанный на аутентификации Клиента на Сервере авторизации с использованием механизма аутентификации private_key_jwt (в соответствии с разделом 5.5.3 ФАПИ.СЕК), в качестве метода аутентификации Стороннего поставщика. При этом Сторонний поставщик использует тип разрешения на доступ client_credentials в сочетании с аssertions (RFC7521) и jwt_bearer.
(Примечание — ! Не входит в рамки текущего применения для Среды Открытых банковских интерфейсов. Имплементация данного потока обсуждается и будет представлена отдельно)
ППУ может полагаться на Стороннего поставщика, чтобы выполнять авторизацию Согласия и Строгую аутентификацию от его имени. В такой ситуации Сторонний поставщик берет на себя ответственность за аутентификацию Пользователя с использованием имеющихся у него учетных данных.
Как только Пользователь был аутентифицирован, Сторонний поставщик может непосредственно вызвать конечную точку токена сервера авторизации ! Не входит в рамки текущего применения для Среды Открытых банковских интерфейсов.bearer.
Сторонний поставщик передает идентификацию Пользователя в заголовке запроса client_assertion через подписанный JWT (с использованием механизма аутентификации private_key_jwt).
ППУ возвращает токен доступа непосредственно Стороннему поставщику без какого-либо дальнейшего взаимодействия с Пользователем.
Типы доступа Authorization Code Grant используется в рамках сценария Гибридный поток (в соответствии с разделом 5.4.3 ФАПИ.СЕК), с параметром типа запрашиваемого ответа: response_type = code id_token.
(Примечание — ! Не входит в рамки текущего применения для Среды Открытых банковских интерфейсов.)
Для идентификации конечного пользователя в запросе авторизации Сторонним поставщиком может быть использован ранее полученный id_token в качестве параметра запроса id_token_hint с учетом того, что id_token подписан ППУ и привязан к конкретному Стороннему поставщику через заявленное свойство "aud" (в соответствии с пунктом 6.2 [OIDC.core]).
(Примечание — ФАПИ.ПАОК явлется локализацией раздела стандартов OpenID для разъедененой аутентификации "CIBA".)
Инициированный клиентом поток аутентификации по дополнительному каналу (ПАОК) является частью спецификаций OpenID и его применение в среде Открытых банковских интерфейсах изложено в [ФАПИ.ПАОК] в разделе 7.
ППУ, которые реализуют ПАОК, должны придерживаться данного профиля. ППУ может дополнительно реализовать поток ПАОК, чтобы позволить Пользователям пройти аутентификацию, используя устройство аутентификации, которое отличается от устройства на котором они используют приложение Стороннего поставщика (разъединенная аутентификация).
ППУ, которые реализуют ПАОК, должны поддерживать один или несколько из следующих методов идентификации Пользователя, который должен быть аутентифицирован:
ППУ должен публиковать на своем портале поддерживаемые методы идентификации Пользователя.
Если ППУ не поддерживает конкретный метод идентификации Пользователя, ППУ должен вернуть ошибку аутентификации invalid_request.
Сервер авторизации не должен использовать login_hint или login_hint_token для передачи "идентификаторов намерения" или любых других метаданных авторизации.
Перед созданием запроса аутентификации ПАОК (bc-authorize) Сторонний поставщик должен создать идентификатор согласия (consentId) и передать в объекте запроса как параметр "openbanking-intent-id". Это позволяет сформированному токену доступа быть привязанным к ресурсу согласия.
Для передачи контекстной информации рекомендуется использовать шаблон "lodging intent" ([Financial-grade API: Lodging Intent Pattern])[FAPILI].
ППУ должен разрешать не более одного запроса авторизации bc_authorize сязанного с данным согласием.
Требования к предоставляемым областям доступа:
Для интерфейсов, используемых в рамках среды Открытых банковских API, токены доступа должны генерироваться в соответствии с требованиями раздела 5.4.2.18 ФАПИ.СЕК и передаваться в рамках безопасной сессии взаимодействия Клиента и сервера авторизации, используя контекст, определенный на стороне последнего.
Токены доступа должны быть проверены в соответствии с разделом 5.4.3.5 ФАПИ.СЕК, а так же выполнены следующие дополнительные проверки:
Токены доступа, сгенерированные на основе сценария предоставления разрешения на доступ, не могут быть использованы для получения токенов обновления.
ППУ может на свое усмотрение поддерживать генерацию токена обновления на конечной точке токена.
ППУ возвращает токен обновления в рамках сценария Гибридный поток наряду с возвращением токена доступа, если он был запрошен Сторонним поставщиком.
Токен идентификации должен быть проверен в соответствии с разделом 5.4.2.17 ФАПИ.СЕК.
Дополнительные проверки токена идентификации должны соответствовать профилю, определенному в главе 7 ФАПИ.СЕК)
Сторонний поставщик должен использовать параметр "openbanking_intent_id" для того, чтобы обновлять данные, либо запрашивать текущее содержимое ресурса (consentId).
Полученные ПУ коды авторизации должны иметь энтропию не ниже 160 бит (в соответствии с разделом 6.2.2-15 ФАПИ.СЕК).
Настоящая спецификация не предусматривает возможность использование Публичного Клиента в определениях базового протокола аутентификации (в соответствии с разделом 6.2.2 ФАПИ.СЕК).
Типы запросов, предусматривающие генерацию токена доступа при обращении на конечную точку авторизации, также не специфицированы в рамках настоящих требований.
Срок жизни генерируемых токенов и кодов авторизации определяется ППУ.
Соответствующие параметры, определенные ППУ, должны быть описаны в разрабатываемых ими Пользовательских документах и Политиках.
Сами спецификации интерфейсов не содержат параметров, определяющих сроки жизни соответствующих артефактов, генерируемых на стороне сервера авторизации.
Спецификация базового протокола аутентификации предполагает, что код авторизации является кратковременным (время его жизни не более 10 мин).
Параметр токена ID Token "exp" и "iat" определяют временные параметры, которые должны быть оценены при проверке на валидность.
Для контроля времени жизни токена доступа сервер авторизации определяет значение параметра "expires_in".
Токены доступа являются кратковременными и, по мере достижения срока жизни, они должны заменяться путем обмена токена обновления на новый токен доступа.
Для контроля времени жизни токена обновления сервер авторизации определяет значение параметра "expires_in".
Токены обновления в общем случае являются более долговременными по сравнению с токенами доступа.
Практика использования URL-безопасных и защищенных структур данных на базе JWT периодически обобщается и оформляется в виде лучших практик.
На текущий момент в качестве такой практики приниматься в учет следующая наработка, подготовленная в рамках рабочей группы по протоколу OAuth: https://www.rfc-editor.org/rfc/rfc8725.html
При работе с JWT при реализации базового протокола аутентификации и авторизации доступа для Открытых банковских интерфейсов используются следующие криптографические алгоритмы:
Все конечные точки доступа к JWKS зарегистрированных участников среды Открытых банковских API будут доступны на базе Сертификационного Стенда, реализующего функциональность выпуска сертификатов соответствующих публичных ключей для всех участников.
Загрузка промышленных сертификатов осуществляется на Сертификационном стенде. ППУ загружает публичные сертификаты для сервера авторизации и
сервера ресурсов, а Сторонний поставщик - соответствующие клиентские сертификаты.
Сертификаты будут доступны по URI /jwks/{{identificator}}, где {{identificator}} - это идентификатор приложения для Стороннего поставщика или API для ППУ.
В ответе с конечной точки JWKS в поле keys[*].x5c
содержится загруженный сертификат.
Участники могут использовать кеширование JWKS, при этом максимальное время хранения данных не должно превышать 600 секунд.
При формировании JWT, JWS и JWE необходимо руководствоваться главой 5.7 ФАПИ.СЕК
Подпись полезной нагрузки передается в виде отделенной JWS (как определено в приложение F RFC 7515) и включается в заголовок HTTP x-jws-signature.
Заголовок x-jws-signature содержит следующие параметры параметры:
kid
- обязательный.jwks_uri
обязательный для ППУ при сертификационных проверкахtyp
- обязательный.alg
- обязательный.Пример. Заголовок JWT x-jws-signature
{
"kid": "512DF60009ADFBA042A20980C8AC7XXX",
"jwks_uri": "https://cs-jwks.openbankingrussia.ru/certstand/jwks/fefxx22066084ecab411fe7803ba7dfa",
"typ": "JWT",
"alg": "PS256"
}
В настоящем разделе описывается реализация Гибридного сценария аутентификации (полное описание параметров Гибридного сценария аутентификации приведено в разделе 5.4.3 ФАПИ.СЕК) Пользователя и авторизации Клиента к защищенным ресурсам ППУ через Открытые банковские интерфейсы.
Основным расширением, которое OpenID Connect предоставляет для OAuth 2.0, чтобы позволить проходить проверку подлинности для Стороннего поставщика, является ID Token - структура данных JWT содержащая набор информации об аутентификации конечного пользователя (claims) Сервером авторизации, созданная и подписанная в момент авторизации Пользователя в ППУ.
Банки, участвующие в среде Отрытых банковских интерфейсов в роли ППУ, должны поддерживать формирование структур данных ID Token, а Сторонние поставщики запрашивают получение ID Token в ответе от ППУ через соответствующие параметры запроса авторизации.
Данный сценарий предполагает, что к моменту обращения Стороннего поставщика на сервер авторизации ППУ с целью инициирования запроса авторизации, соответствующего сценарию Гибридный поток, под регистрационными данными Стороннего поставщика на ресурсном сервере ППУ уже создан ресурс на предоставления согласия Пользователя на доступ к информации или проведения платежа, имеющий идентификатор consentId, который должен быть авторизован Пользователем при помощи запроса авторизации.
Подробное описание сценария и его параметров определено в главе 5.4.3 ФАПИ.СЕК.
В настоящем разделе описываются набор параметров, применяемых в запросе авторизации при исполнении Гибридного сценария аутентификации в Среде Открытых банковских интерфейсов.
** Базовые параметры запроса аутентификации определены в разделе 5.4.2.2 ФАПИ.СЕК. Среда Открытых банковских интерфейсов дополняет параметры с учетом разделов 5.4.3.2 ФАПИ.СЕК и 7.2.3 ФАПИ.СЕК. **
response_type
- обязательный. В соответствии со спецификацией протокола OAuth 2.0 включение данного параметра в запрос аутентификации является обязательным. Значение этого параметра может быть "code id_token".
client_id
- обязательный. Сторонний поставщик включает в запросе авторизации значение идентификатора Стороннего поставщика, выданное соответствующим ППУ, на чей интерфейс Открытого банковского API направляется запросе авторизации.
redirect_uri
- обязательный. Сторонний поставщик включает в запрос аутентификации значение URI, на который будет переадресован агент Пользователя (User agent, браузер, web приложение) по завершению процедуры авторизации доступа на конечной точке авторизации. При этом, передаваемый в запросе URI должен быть валидным абсолютным URI, который был указан в процессе регистрации Стороннего поставщика на соответствующем ППУ.
scope
- обязательный. Сторонний поставщик включает в запрос аутентификации значение параметра scope. В качестве значения должна быть указана строка разделенных пробелом идентификаторов и содержащая как минимум значение "openid". Значения идентификаторов scope регистрируются ППУ в процессе регистрации Стороннего поставщика на сервере авторизации ППУ.
state
- обязательный. Сторонний поставщик генерирует в произвольном формате и включает в запрос аутентификации условное значение идентификатора сессии. При получении такого значения в запросе, ППУ должен прозрачным образом передать его в ответе, не изменяя его. ППУ должен также включать в ответ значение s_hash для подтверждения подлинности связи ответа с запросом по идентификатору сессии.
nonce
- обязательный. Случайное значение, используемое в качестве условного идентификатора сессии обмена сообщениями между Сторонним поставщиком и сервером авторизации. Передается параметром в запросе авторизации и должно быть без изменения включено сервером авторизации в ответ на запрос аутентификации.
request
- обязательный. Значение параметра должно представлять собой JWS токен, подписанный Сторонним поставщиком (глава 5.7 ФАПИ.СЕК). Полезная нагрузка JWS должна представлять собой JSON объект, содержащий объект запроса авторизации (подробнее в разделе 5.4.2.4 ФАПИ.СЕК ). Объект запроса должен содержать параметр "claims", который должен включать, как минимум следующие включения комплексного элемента "id_token":
- `openbanking_intent_id`: который представляет собой идентификатор ресурса "Intent Id", в привязке к которому запрашивается авторизация (направляется текущий запрос аутентификации);
- `acr_values`: строковые значения, представляющие собой условные идентификаторы (из области имен), определяющие запрашиваемый метод аутентификации Конечного пользователя (ГОСТ Р 58833-2020). Порядок идентификаторов имеет значение, приоритет отдается значению, указанному первым. Значением может быть как единичный идентификатор, так и набор идентификаторов, расположенные в порядке приоритета применения контекста аутентификации. Перечень применяемых идентификаторов в рамках данной спецификации:
- `urn:rubanking:sca`: идентификатор, определяющий контекст аутентификации, указывающий на применение усиленной (двухфакторной) аутентификации Пользователя;
- `urn:rubanking:ca`: идентификатор, определяющий контекст аутентификации, указывающий на применение однофакторной аутентификации Пользователя.
Параметры объекта запроса могут иметь тег "обязательности" или "опциональности" - "essential". Если данный тег определен у параметра как essential: true, то запрошенный параметр является обязательным. По умолчанию параметрам определено значение тега "essential": "false".
(Примечание - Синтаксис включения параметров claims в объект запроса приведен в примере "Структура данных объекта запроса аутентификации")
Пример. Структура данных объекта запроса аутентификации
{
"typ": "JWT",
"alg": "PS256"
}
{
"response_type": "code id_token",
"state": "98d6691382344e7fb03c853739d0a988",
"scope": "openid accounts offline_access",
"nonce": "642c0152a40a46bbb82bfda4e0799990",
"exp": 1618760589,
"max_age": 86400,
"claims": {
"userinfo": {
"openbanking_intent_id": {
"value": "0c9df54a-b926-4853-acc2-e318c9bd7c33",
"essential": true
}
},
"id_token": {
"openbanking_intent_id": {
"value": "0c9df54a-b926-4853-acc2-e318c9bd7c33",
"essential": true
},
"acr": {
"values": [
"urn:rubanking:sca",
"urn:rubanking:ca"
],
"essential": true
}
}
},
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft",
"iss": "4abd59d5970247969965a4f317a8f817",
"client_id": "4abd59d5970247969965a4f317a8f817",
"redirect_uri": "https://localhost.ru/cb"
}
Пример. HTTP-запрос аутентификации
https://sb-as.openbankingrussia.ru/sandbox/as/aft/connect/authorize?
client_id=4abd59d5970247969965a4f317a8f817
&response_type=code%20id_token
&state=98d6691382344e7fb03c853739d0a988
&redirect_uri=https://localhost.ru/cb
&nonce=642c0152a40a46bbb82bfda4e0799990
&scope=openid%20accounts%20offline_access
&request=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJyZXNwb2...
Перенаправление Пользователя для аутентификации.
В процессе гибридного сценария Сервер авторизации должен аутентифицировать Пользователя для авторизации им согласия, представленного в объекте запроса.
В данной спецификации представлен метод перенаправления браузера Пользователя на зарегистрированный Сторонним поставщиком URI-адрес перенаправления (redirect_uri) с помощью ответа HTTP 302 (или HTTP 303).
Базовые параметры ответа на запрос аутентификации определенные в разделе 5.4.2.8 ФАПИ.СЕК. Среда Открытых банковских интерфейсов дополняет параметры с учетом разделов 5.4.3.3-5.4.3.6 ФАПИ.СЕК и 7.2.3 ФАПИ.СЕК.
scope
- опциональный. Область действия - определяет свойства защищаемых данных конечного пользователя, к которым запрошен доступ.code
- обязательный. Код авторизации.id_token
- обязательный. Токен идентификации.state
- обязательный. Условное значение идентификатора сессии из объекта запроса.session_state
- опциональный. Идентификатора текущей сессии, установленной между UserAgent и Сервером авторизации в момент аутентификации Пользователя. Сторонний поставщик может проверять данный праметр на соответствие со значением, сохраненным UserAgent (подробнее OpenID Connect Session Management 1.0). (Примечание. Данный параметр поддерживается, но не регулируется Средой Открытых банковских интерфейсов).Пример. Ответ на запрос авторизации
https://localhost.ru/cb#code=10e5ded165a96d423aaa42a678cb9c09460963245
&id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IkQwM0I4NkE4MEJBNjBCQjM0...
&scope=openid%20accounts%20offline_access
&state=98d6691382344e7fb03c853739d0a988
&session_state=G6rAVS56SipMpkdgSH-ZM3nJggTXo9MQ74sK8VE3n3o29c1bf0fa
**Базовые параметры токена идентификации определенные в разделе 5.4.3.4 ФАПИ.СЕК.
iss
- обязательный. Эмитент токена. Значение URI сервера авторизации.sub
- обязательный. Уникальный идентификатор субъекта, выданный сервером авторизации конечному пользователю; регистрозависимая строка длиной не более 255 символов ASCII.aud
- обязательный. Идентификатор субъекта, представленного сервером авторизации, для которого выдается ID Token (должно быть равно значению "client_id" Клиента).exp
- обязательный. Период актуальности токена; определяется ППУ при условии, что выбранное значение не влияет на качество сервисов, предоставляемых через Открытые банковские интерфейсы.iat
- обязательный. Метка времени выпуска токена.auth_time
- в зависимости от контекста бизнес сценария, в котором используется запрос аутентификации. Метка времени события аутентификации Пользователя. Данное поле является обязательным, когда "max_age" параметр включен в запрос аутентификации и его тег "essential" определен значением "true".nonce
- обязательный. Случайное значение, используемое в качестве условного идентификатора сессии обмена сообщениями между Сторонним поставщиком и сервером авторизации.acr
- опциональный. Ссылка на идентификатор, определяющий тип конткеста аутентификации:
s_hash
- обязательный. Хэш по значению параметра "state".at_hash
- опциональный (для ответа с кодом авторизации). Хэш по значению сгенерированного токена доступа.c_hash
- обязательный (для ответа с кодом авторизации, отсутствует в ответе от конечной точки токена). Хэш по значению кода авторизации.Пример. Структура ID Token в ответе на запрос авторизации
{
"alg": "RS256",
"type": "JWT"
}
{
"nbf" : 1607716025,
"exp" : 1607716325,
"iss" : "https://sb0.openbankingrussia.ru/sandbox0/as/aft",
"aud" : "a8cadb2f65944ce2b3b92ba21336ad53",
"iat" : 1607716025,
"nonce" : "642c0152a40a46bbb82bfda4e0799990",
"c_hash" : "OATPHzlrPpzO3PpMPLNknQ",
"s_hash" : "nVDApI-dUj2qei-oU9QeUw",
"sub" : "1e3a7d4a-d213-416d-b4d3-ac8000f9d1d0",
"auth_time" : 1607716014,
"name" : "test",
"openbanking_intent_id" : "1726c4f8-af35-41ef-bd84-569fb4647e1a",
"amr" : ["password"]
}
В этом примере запрос аутентификации был отклонен Пользователем, что привело к ответу об ошибке с фрагментом. Параметр ошибки имеет значение «access_denied», что указывает на то, что пользователь отклонил запрос, а параметр error_description предоставляет удобочитаемое описание ошибки. Описание ответа об ошибки аутентификации представлены в разделе 5.4.2.9 ФАПИ.СЕК
Пример. Ответ аутентификации с ошибкой
https://localhost.ru/cb#
error=access_denied
&error_description=The+user+denied+the+request
В настоящем разделе описываются набор параметров, применяемых в запросе к конечной точке токена для обмена кода авторизации на токен доступа при исполнении Гибридного сценария аутентификации в Среде Открытых банковских интерфейсов.
** Базовые параметры запроса к конечной точке токена для обмена кода авторизации на токен доступа определены в разделе 5.4.2.11 ФАПИ.СЕК с учетом **
Сторонний поставщик использует механизм аутентификации клиента “private_key_jwt” согласно ФАПИ.СЕК 5.5.3 с client_assertion (раздел 4.3 RFC7521)
** Базовые параметры запроса к конечной точке токена для обмена кода авторизации на токена **
grant_type
- обязательный. Тип доступа должен иметь значение "authorization_code"code
- обязательный. Код авторизации.client_assertion
- обязательный. Утверждение, используемое для аутентификации клиентаredirect_uri
- обязательный. URI переадресации, на который будет отправлен ответ; значение этого параметра должно совпадать со значением параметра "redirect_uri" запроса авторизацииclient_assertion_type
- обязательный. Имеет значение urn:ietf:params:oauth:client-assertion-type:jwt-bearerPOST /sandbox/as/aft/connect/token HTTP/1.1
Host: sb-as.test.openbankingrussia.ru
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=40ac728b26bf06a078538a65c1f18f89a9e8554899cb45a2ff2c918dc7742fe7
&redirect_uri=https://localhost.ru/cb
&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI0YmEzYjk4YTRjNm
**Базовые параметры ответа конечной точки токена определенные в разделе 5.4.3.3 ФАПИ.СЕК. **
(Примечание. См. раздел 5.4.3.3-5.4.4.4 ФАПИ.СЕК
Пример. Полезная нагрузка ответа от конечной точки токена
{
"id_token": "eyJhbGciOiJSUzI1NiIsI...",
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjU..",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "13e29519e3a09bca92ca9c3f41a886ca"
}
Данный тип разрешения используется Сторонним поставщиком для регистрации ресурса согласия, отражающего намерение Пользователя дать разрешение Стороннему поставщику на доступ к ресурсам ППУ. Это реализуется через выполнение набора следующих действий:
Представленная диаграмма последовательности иллюстрирует использование сценария авторизации на базе идентификаторов, выданных Клиенту сервером авторизации (Client Credential Grant Flow), и сценария Гибридный поток, определенного в базовом протоколе аутентификации (OpenID Connect Core), при реализации сервиса Инициирования платежа через Открытый банковский интерфейс.
Диаграмма последовательности "Инициирование платежа через Открытый банковский интерфейс"
На данном этапе происходит информационный обмена с использованием протокола TLS 1.2. между Пользователем и СППУ для определения намерений и получения одобрения Пользователя начать взаимодействие по инициации представленного платежа. (Например: Пользователь в приложении Стороннего поставщика получил счет на оплату и выбирает Банк).
На данном шаге СППУ получает Токен доступа используя Запрос аутентификации к конечной точке токена с типом запрашиваемого типа доступа "client_credential" и реализуя метод аутентификации "private_key_jwt" используя следующие действия:
Пример client_assertion
{
"iss": "f917546e7a194df9bd02342632cd944f",
"sub": "f917546e7a194df9bd02342632cd944f",
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft/connect/token",
"exp": 1658763062,
"jti": "90729a20-5eee-4035-9113-5c731e9e2c63"
}
Запрос к конечной точке токена
POST /sandbox/as/aft/connect/token HTTP/1.1
Host: sb-as.openbankingrussia.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: 819
grant_type=client_credentials
&scope=payments
&client_assertion_type=client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ...
Ответ от конечной точки токена
{
"access_token": "eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOE...",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "payments"
}
Привязка токена доступа к параметрам запроса и MTLS сертификату осуществляется добавлением в токен доступа claim'a "cnf” (confirmation), в котором содержится утверждение ”x5t#sha256”, с хэшем клиентского сертификата в качестве его значения
Декодированный токен доступа
{
"nbf": 1660571646,
"exp": 1660575246,
"iss": "https://sb-as.openbankingrussia.ru/sandbox/as/aft",
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft/resources",
"client_id": "f917546e7a194df9bd02342632cd944f",
"scope": "payments",
"jti": "4a07d081dc9b248c18f67d9acf9346bb841c1c9fb3e8faa69beb113eda6c3071",
"client_jwks_uri": "https://sb-jwks.openbankingrussia.ru/sandbox/jwks/f917546e7a194df9bd02342632cd944f",
"cnf": {
"x5t#S256": "C7qKLMKk_bJmQNCgT8MB50VV0d4HJBFgKANg25-Nj60"
}
}
СППУ выполняет проверку ответа, извлекает токен доступа (с определенной параметром scope областью действия - payments) и использует его в запросе создания ресурса согласия на проведение платежа.
Запрос создания ресурса согласия на проведение платежа
POST /sandbox/open-banking/v1.3/pisp/payment-consents HTTP/1.1
x-idempotency-key: be1d5912-ebc5-4480-a26c-6f2ab1366cca
Accept: application/json
x-jws-signature: eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9..wnmQQcEq2EaixpA6v5DIP6y...
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6Ijd...
Content-Type: application/json
Content-Length: 4526
{"Data":{"Initiation":{"instructionIdentification":"IID-001-pisp-00001","endToEndIdentification":"EEID-001-XXXXXXXX-000021","purpose":"1","PaymentTypeInformation":{"localInstrument":"01","сategoryPurpose":"0","serviceLevel":"URGP"},"requestedExecutionDate":"2021-06-05T15:15:13+00:00","InstructedAmount":{"amount":"200.00","currency":"RUB"},"UltimateDebtor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"Debtor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"DebtorAgent":{"schemeName":"RU.CBR.BICFI","identification":"44525533"},"DebtorAgentAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"DebtorAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"IntermediaryAgent":{"schemeName":"RU.CBR.BICFI","identification":"44525533"},"IntermediaryAgentAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"CreditorAgent":{"schemeName":"RU.CBR.BICFI","identification":"44525533"},"CreditorAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"CreditorAgentAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"Creditor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"UltimateCreditor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"RemittanceInformation":{"unstructured":"Назначение платежа - оплата за товары или услуги","CreditorReferenceInformation":{"type":"ИПД","reference":"CBR-130"},"TaxRemittance":{"administrationZone":"45388000","referenceNumber":"0","date":"2021-06-05T15:15:13+00:00","creditor":{"taxType":"991230001","registrationIdentification":"string"},"debtor":{"taxType":"991230001","registrationIdentification":"string"},"Record":{"type":"string","category":"TP","categoryDetails":"18210301000011000000","debtorStatus":"13","Period":[{"year":"2021-01-01","type":"MM02","fromDate":"2021-06-05T15:15:13+00:00","toDate":"2021-06-05T15:15:13+00:00"}],"TaxAmount":{"rate":"20","totalAmount":"200.00"}}}}},"Authorisation":{"authorisationType":"Single","completionDateTime":"2021-06-05T15:15:13+00:00"},"SCASupportData":{"requestedSCAExemptionType":"Parking","appliedAuthenticationApproach":"CA","referencePaymentOrderId":"32bae548-f4de-4874-b184-880a4363460d"}},"Risk":{"paymentContextCode":"BillPayment","merchantCategoryCode":"7536","merchantCustomerIdentification":"string","DeliveryAddress":[{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}]}}
Сервер ресурсов проверяет полученный запрос, создает ресурс согласия и возвращает его идентификатор (consentId).
Созданный ресурс согласия
{
"Data": {
"consentId": "8349d9d0-1702-4759-ab17-5564cad52d85",
"creationDateTime": "2022-08-15T14:09:57.3451601+00:00",
"status": "AwaitingAuthorisation",
"statusUpdateDateTime": "2022-08-15T14:09:57.3451601+00:00",
"cutOffDateTime": "2022-08-19T22:26:57.3451601+00:00",
"expectedExecutionDateTime": "2022-08-16T14:09:57.3451601+00:00",
"expectedSettlementDateTime": "2022-08-25T14:09:57.3451601+00:00",
"Charges": [
{
"chargeBearer": "CRED",
"Amount": {
"amount": "1.42",
"currency": "RUB"
}
}
],
"Initiation": {
"instructionIdentification": "IID-001-pisp-00001",
"endToEndIdentification": "EEID-001-XXXXXXXX-000021",
"purpose": "1",
"PaymentTypeInformation": {
"localInstrument": "01",
"сategoryPurpose": "0",
"serviceLevel": "URGP"
},
"requestedExecutionDate": "2021-06-05T15:15:13+00:00",
"InstructedAmount": {
"amount": "200.00",
"currency": "RUB"
},
"UltimateDebtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Debtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"DebtorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"IntermediaryAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"IntermediaryAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"Creditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"UltimateCreditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-06-05T15:15:13+00:00",
"creditor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"debtor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"Record": {
"type": "string",
"category": "TP",
"categoryDetails": "18210301000011000000",
"debtorStatus": "13",
"Period": [
{
"year": "2021-01-01",
"type": "MM02",
"fromDate": "2021-06-05T15:15:13+00:00",
"toDate": "2021-06-05T15:15:13+00:00"
}
],
"TaxAmount": {
"rate": "20",
"totalAmount": "200.00"
}
}
}
}
},
"Authorisation": {
"authorisationType": "Single",
"completionDateTime": "2021-06-05T15:15:13+00:00"
},
"SCASupportData": {
"requestedSCAExemptionType": "Parking",
"appliedAuthenticationApproach": "CA",
"referencePaymentOrderId": "32bae548-f4de-4874-b184-880a4363460d"
}
},
"Risk": {
"paymentContextCode": "BillPayment",
"merchantCategoryCode": "7536",
"merchantCustomerIdentification": "string",
"DeliveryAddress": [
{
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/pisp/payment-consents/8349d9d0-1702-4759-ab17-5564cad52d85"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
На основании полученного consentId, СППУ создает Запрос аутентификации, включая подписанный объекта запроса с набором запрашиваемых claims (consentId в качестве openbanking_intent_id) для того, чтобы после перенаправления браузера Конечного пользователя последний смог бы подтвердить запрос на инициацию проведения платежа, находясь в интерфейсе ППУ и пройдя аутентификацию требуемого уровня доверия (определяется требованиями ППУ).
Запрос аутентификации с объектом запроса
https://sb-cas.openbankingrussia.ru/sandbox/as/aft/connect/authorize?client_id=f917546e7a194df9bd02342632cd944f
&response_type=code%20id_token
&state=e89de031-484c-4cbb-88da-ac17f13145d4
&redirect_uri=https://localhost.ru/callback
&nonce=ea4133e9-c648-4f3c-ba12-21a28b3935ca
&scope=openid%20payments%20offline_access
&request=ew0KICJ0eXAiOiAiSldUIiwNCiAiYWxnIjogIm5vbmUiDQp9.eyJyZX...
Декодированный объект запроса
{
"response_type": "code id_token",
"state": "e89de031-484c-4cbb-88da-ac17f13145d4",
"scope": "openid payments offline_access",
"nonce": "ea4133e9-c648-4f3c-ba12-21a28b3935ca",
"exp": 1660659748,
"max_age": 86400,
"claims": {
"userinfo": {
"openbanking_intent_id": {
"value": "7fcf343d-52c3-4310-9fe7-39e20319e08c",
"essential": true
}
},
"id_token": {
"openbanking_intent_id": {
"value": "7fcf343d-52c3-4310-9fe7-39e20319e08c",
"essential": true
},
"acr": {
"values": [
"urn:rubanking:sca",
"urn:rubanking:ca"
],
"essential": true
}
}
},
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft",
"iss": "f917546e7a194df9bd02342632cd944f",
"client_id": "f917546e7a194df9bd02342632cd944f",
"redirect_uri": "https://localhost.ru/callback"
}
После того, как Конечный Пользователь предоставил свое согласие в пользу СППУ на инициацию проведения платежа, cервер авторизации ППУ генерирует код авторизации и ID Token.
По завершении процедуры аутентификации и авторизации доступа, браузер Пользователя получает ссылку для переадресации обратно на сервер СППУ через "redirect_uri".
СППУ получает код авторизации и токен идентификации, сгенерированные ППУ.
Ответ на запрос аутентификации с code и id_token, переданных как fragment
https://localhost.ru/callback#code=f1fd7ad2de96cb496c3d144b23348d6dd2595760
&id_token=eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFG...
По результатам успешной проверки кода авторизации и параметра "state" с использованием токена id_token, СППУ формирует запрос на получение токена доступа используя полученный код авторизации. Для этого СППУ должен предоставить в запросе к конечной точке токена аналогично запросу на шаге 2 client_assertion, но с кодом авторизации и типом доступа authorization_code.
Запрос к конечной точке токена с client_assertion для обмена code на acess_token
POST /sandbox/as/aft/connect/token HTTP/1.1
Authorization:
Host: sb-as.openbankingrussia.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: 925
grant_type=authorization_code
&code=f1fd7ad2de96cb496c3d144b23348d6dd25957602580b0a1f794bd0ad7ddb11b
&redirect_uri=https%3A%2F%2Flocalhost.ru%2Fcallback
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJmO...
Ответ от конечной точки токена с access_token, id_token и refresh_token
{
"id_token": "eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0NzJGMD...",
"access_token": "eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGO0NzJG...",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "912cd23987df5e46933708009dc8d252"
}
Имея в распоряжении токен доступа, СППУ может инициировать проведение платежа Пользователя в ППУ.
Запрос на проведение платежа
POST /sandbox/open-banking/v1.3/pisp/payments HTTP/1.1
x-idempotency-key: 8d065299-ac62-4783-aa0c-c46d610ba623
Accept: application/json
x-jws-signature: eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9..gmydBDb3aa3QUnQYY396tI...
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0MDVG...
Content-Type: application/json
Content-Length: 4577
{"Data":{"consentId":"91392e44-4131-4f8e-a380-781e735f3f5f","Initiation":{"instructionIdentification":"IID-001-pisp-00001","endToEndIdentification":"EEID-001-XXXXXXXX-000021","purpose":"1","PaymentTypeInformation":{"localInstrument":"01","сategoryPurpose":"0","serviceLevel":"URGP"},"requestedExecutionDate":"2021-06-05T15:15:13+00:00","InstructedAmount":{"amount":"200.00","currency":"RUB"},"UltimateDebtor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"Debtor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"DebtorAgent":{"schemeName":"RU.CBR.BICFI","identification":"44525533"},"DebtorAgentAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"DebtorAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"IntermediaryAgent":{"schemeName":"RU.CBR.BICFI","identification":"44525533"},"IntermediaryAgentAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"CreditorAgent":{"schemeName":"RU.CBR.BICFI","identification":"44525533"},"CreditorAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"CreditorAgentAccount":{"name":"Основной счет","schemeName":"RU.CBR.BBAN","identification":"40817810621234567890"},"Creditor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"UltimateCreditor":{"name":"Наименование организации или физического лица","mobileNumber":"79206001010","countryOfResidence":"RU","countryOfBirth":"RU","provinceOfBirth":"Ставрапольский край","cityOfBirth":"Ставраполь","birthDate":"2021-06-05T15:15:13+00:00","Identification":[{"schemeName":"RU.CBR.TXID","identification":"7728240240"}],"PostalAddress":{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}},"RemittanceInformation":{"unstructured":"Назначение платежа - оплата за товары или услуги","CreditorReferenceInformation":{"type":"ИПД","reference":"CBR-130"},"TaxRemittance":{"administrationZone":"45388000","referenceNumber":"0","date":"2021-06-05T15:15:13+00:00","creditor":{"taxType":"991230001","registrationIdentification":"string"},"debtor":{"taxType":"991230001","registrationIdentification":"string"},"Record":{"type":"string","category":"TP","categoryDetails":"18210301000011000000","debtorStatus":"13","Period":[{"year":"2021-01-01","type":"MM02","fromDate":"2021-06-05T15:15:13+00:00","toDate":"2021-06-05T15:15:13+00:00"}],"TaxAmount":{"rate":"20","totalAmount":"200.00"}}}}},"Authorisation":{"authorisationType":"Single","completionDateTime":"2021-06-05T15:15:13+00:00"},"SCASupportData":{"requestedSCAExemptionType":"Parking","appliedAuthenticationApproach":"CA","referencePaymentOrderId":"32bae548-f4de-4874-b184-880a4363460d"}},"Risk":{"paymentContextCode":"BillPayment","merchantCategoryCode":"7536","merchantCustomerIdentification":"string","DeliveryAddress":[{"addressType":"Business","addressLine":["string"],"streetName":"Садовая","buildingNumber":"34-1","postCode":"115114","townName":"Москва","countrySubDivision":"Москва","country":"RU"}]}}
Ответ на запрос проведения платежа
{
"Data": {
"paymentId": "2c649034-526d-4696-a2f6-8159827da080",
"consentId": "91392e44-4131-4f8e-a380-781e735f3f5f",
"creationDateTime": "2022-08-22T10:54:31.1427619+00:00",
"status": "Pending",
"statusUpdateDateTime": "2022-08-22T10:54:31.1427809+00:00",
"expectedExecutionDateTime": "2022-08-23T10:14:15+00:00",
"expectedSettlementDateTime": "2022-09-01T10:14:15+00:00",
"Charges": [
{
"chargeBearer": "CRED",
"Amount": {
"amount": "1.42",
"currency": "RUB"
}
}
],
"Initiation": {
"instructionIdentification": "IID-001-pisp-00001",
"endToEndIdentification": "EEID-001-XXXXXXXX-000021",
"purpose": "1",
"PaymentTypeInformation": {
"localInstrument": "01",
"сategoryPurpose": "0",
"serviceLevel": "URGP"
},
"requestedExecutionDate": "2021-06-05T15:15:13+00:00",
"InstructedAmount": {
"amount": "200.00",
"currency": "RUB"
},
"UltimateDebtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Debtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"DebtorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"IntermediaryAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"IntermediaryAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"Creditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"UltimateCreditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-06-05T15:15:13+00:00",
"creditor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"debtor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"Record": {
"type": "string",
"category": "TP",
"categoryDetails": "18210301000011000000",
"debtorStatus": "13",
"Period": [
{
"year": "2021-01-01",
"type": "MM02",
"fromDate": "2021-06-05T15:15:13+00:00",
"toDate": "2021-06-05T15:15:13+00:00"
}
],
"TaxAmount": {
"rate": "20",
"totalAmount": "200.00"
}
}
}
}
}
},
"Risk": {
"paymentContextCode": "BillPayment",
"merchantCategoryCode": "7536",
"merchantCustomerIdentification": "string",
"DeliveryAddress": [
{
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/pisp/payments/2c649034-526d-4696-a2f6-8159827da080"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
СППУ может запросить статус созданного на стороне ППУ ресурса, отражающего согласие Пользователя на проведение платежа (/payment-consent), используя идентификатор consentId. При этом может использоваться имеющийся токен доступа с областью действия payments, либо СППУ может направить новый запрос на получение обновленного токена доступа.
Запрос на получение статуса ранее направленной инструкции на проведение платежа
GET /sandbox/open-banking/v1.3/pisp/payment-consents/91392e44-4131-4f8e-a380-781e735f3f5f HTTP/1.1
x-idempotency-key: 092f2789-b7ad-47d4-9dfa-b0b43b4157b1
Accept: application/json
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMOEU0NzJGMDV...
Ответ запроса статуса ресурса платежа
{
"Data": {
"consentId": "91392e44-4131-4f8e-a380-781e735f3f5f",
"creationDateTime": "2022-08-22T10:14:15+00:00",
"status": "Consumed",
"statusUpdateDateTime": "2022-08-22T10:54:31+00:00",
"cutOffDateTime": "2022-08-27T03:10:15+00:00",
"expectedExecutionDateTime": "2022-08-23T10:14:15+00:00",
"expectedSettlementDateTime": "2022-09-01T10:14:15+00:00",
"Charges": [
{
"chargeBearer": "CRED",
"Amount": {
"amount": "1.42",
"currency": "RUB"
}
}
],
"Initiation": {
"instructionIdentification": "IID-001-pisp-00001",
"endToEndIdentification": "EEID-001-XXXXXXXX-000021",
"purpose": "1",
"PaymentTypeInformation": {
"localInstrument": "01",
"сategoryPurpose": "0",
"serviceLevel": "URGP"
},
"requestedExecutionDate": "2021-06-05T15:15:13+00:00",
"InstructedAmount": {
"amount": "200.00",
"currency": "RUB"
},
"UltimateDebtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Debtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"DebtorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"IntermediaryAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"IntermediaryAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"Creditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"UltimateCreditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-06-05T15:15:13+00:00",
"creditor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"debtor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"Record": {
"type": "string",
"category": "TP",
"categoryDetails": "18210301000011000000",
"debtorStatus": "13",
"Period": [
{
"year": "2021-01-01",
"type": "MM02",
"fromDate": "2021-06-05T15:15:13+00:00",
"toDate": "2021-06-05T15:15:13+00:00"
}
],
"TaxAmount": {
"rate": "20",
"totalAmount": "200.00"
}
}
}
}
},
"Authorisation": {
"authorisationType": "Single",
"completionDateTime": "2021-06-05T15:15:13+00:00"
},
"SCASupportData": {
"requestedSCAExemptionType": "Parking",
"appliedAuthenticationApproach": "CA",
"referencePaymentOrderId": "32bae548-f4de-4874-b184-880a4363460d"
}
},
"Risk": {
"paymentContextCode": "BillPayment",
"merchantCategoryCode": "7536",
"merchantCustomerIdentification": "string",
"DeliveryAddress": [
{
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/pisp/payment-consents/91392e44-4131-4f8e-a380-781e735f3f5f"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос на получение статуса инициированного платежа
GET /sandbox/open-banking/v1.3/pisp/payments/2c649034-526d-4696-a2f6-8159827da080 HTTP/1.1
x-idempotency-key: 1716e1b2-0c40-48a1-ad18-0fbd9c4b64b0
Accept: application/json
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0N...
Ответ со статусом инициированного платежа
{
"Data": {
"paymentId": "2c649034-526d-4696-a2f6-8159827da080",
"consentId": "91392e44-4131-4f8e-a380-781e735f3f5f",
"creationDateTime": "2022-08-22T10:54:31+00:00",
"status": "Pending",
"statusUpdateDateTime": "2022-08-22T10:54:31+00:00",
"expectedExecutionDateTime": "2022-08-23T10:14:15+00:00",
"expectedSettlementDateTime": "2022-09-01T10:14:15+00:00",
"Charges": [
{
"chargeBearer": "CRED",
"Amount": {
"amount": "1.42",
"currency": "RUB"
}
}
],
"Initiation": {
"instructionIdentification": "IID-001-pisp-00001",
"endToEndIdentification": "EEID-001-XXXXXXXX-000021",
"purpose": "1",
"PaymentTypeInformation": {
"localInstrument": "01",
"сategoryPurpose": "0",
"serviceLevel": "URGP"
},
"requestedExecutionDate": "2021-06-05T15:15:13+00:00",
"InstructedAmount": {
"amount": "200.00",
"currency": "RUB"
},
"UltimateDebtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Debtor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"DebtorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"IntermediaryAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"IntermediaryAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"CreditorAgentAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
},
"Creditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"UltimateCreditor": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-06-05T15:15:13+00:00",
"creditor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"debtor": {
"taxType": "991230001",
"registrationIdentification": "string"
},
"Record": {
"type": "string",
"category": "TP",
"categoryDetails": "18210301000011000000",
"debtorStatus": "13",
"Period": [
{
"year": "2021-01-01",
"type": "MM02",
"fromDate": "2021-06-05T15:15:13+00:00",
"toDate": "2021-06-05T15:15:13+00:00"
}
],
"TaxAmount": {
"rate": "20",
"totalAmount": "200.00"
}
}
}
}
}
},
"Risk": {
"paymentContextCode": "BillPayment",
"merchantCategoryCode": "7536",
"merchantCustomerIdentification": "string",
"DeliveryAddress": [
{
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/pisp/payments/2c649034-526d-4696-a2f6-8159827da080"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
СППУ может запросить детализированную информацию инициированного на стороне ППУ платежа, используя идентификатор платежа paymentId. При этом может использоваться имеющийся токен доступа с областью действия payments, либо СППУ может направить новый запрос на получение обновленного токена доступа.
Запрос на получение детализированной информации об инициированном платеже
GET /sandbox/open-banking/v1.3/pisp/payments/2c649034-526d-4696-a2f6-8159827da080/payment-details HTTP/1.1
x-idempotency-key: 04d9a2cb-c7a4-4c55-923a-90158d2f4d9b
Accept: application/json
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU...
Ответ с детализированной информацией об инициированном платеже
{
"Data": {
"paymentTransactionId": "IID-001-pisp-00001",
"transactionStatus": "AcceptedSettlementInProcess",
"statusUpdateDateTime": "2022-08-22T14:41:05.7955304+00:00",
"StatusReasonInformation": {
"reason": "PendingSettlement",
"additionalInformation": "Reason status details field description"
}
},
"Risk": {
"paymentContextCode": "BillPayment",
"merchantCategoryCode": "7536",
"merchantCustomerIdentification": "string",
"DeliveryAddress": [
{
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/pisp/payments/2c649034-526d-4696-a2f6-8159827da080/payment-details"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Представленная диаграмма последовательности иллюстрирует использование сценария авторизации с использованием идентификаторов, выданных Клиенту сервером авторизации (Client Credential Grant Flow), и сценария Гибридный поток, определенного в базовом протоколе аутентификации (OpenID Connect Core), при реализации сервиса Получение информации о состоянии счета через Открытый банковский интерфейс.
На данном этапе происходит информационный обмена с использованием протокола TLS 1.2. между Пользователем и СПИУ для определения намерений и получения одобрения Пользователя начать взаимодействие по доступу к принадлежащим ему ресурсам на сервере ППУ. (Например: Пользователь в приложении Стороннего поставщика выбирает Банк, обслуживающий счет по которому он хочет получить информацию)
На данном шаге СПИУ получает токен доступа используя запрос аутентификации к конечной точке токена с типом запрашиваемого типа доступа "client_credential" и реализуя метод аутентификации "private_key_jwt" используя следующие действия:
Пример client_assertion
{
"iss": "4ba3b98a4c6b4731a08bcb91229d1250",
"sub": "4ba3b98a4c6b4731a08bcb91229d1250",
"exp": 1700156046,
"jti": "20123e56dssdx0028",
"aud": "https://sb-as.test.openbankingrussia.ru/sandbox/as/aft/connect/token"
}
Запрос к конечной точке токена
POST /sandbox/as/aft/connect/token HTTP/1.1
Host: sb-as.openbankingrussia.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: 819
grant_type=client_credentials
&scope=accounts
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiO...
Ответ от конечной точки токена
{
"access_token": "eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRT...",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "accounts"
}
Привязка токена доступа к параметрам запроса и MTLS сертификату осуществляется добавлением в токен доступа claim'a "cnf” (confirmation), в котором содержится утверждение ”x5t#sha256”, с хэшем клиентского сертификата в качестве его значения.
Декодированный токен доступа
{
"nbf": 1661184664,
"exp": 1661188264,
"iss": "https://sb-as.openbankingrussia.ru/sandbox/as/aft",
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft/resources",
"client_id": "f917546e7a194df9bd02342632cd944f",
"scope": "accounts",
"jti": "640964999ef00571151acfee4a26f0e3b9413e0d5c8dea5b3364d2b19ab631cb",
"client_jwks_uri": "https://sb-jwks.openbankingrussia.ru/sandbox/jwks/f917546e7a194df9bd02342632cd944f",
"cnf": {
"x5t#S256": "C7qKLMKk_bJmQNCgT8MB50VV0d4HJBFgKANg25-Nj60"
}
}
СПИУ выполняет проверку ответа, извлекает токен доступа (с определенной параметром scope областью действия - accounts) и использует его в запросе создания ресурса согласия на доступ к счету;
Запрос создания ресурса согласия на доступ к счету
POST /sandbox/open-banking/v1.3/aisp/account-consents HTTP/1.1
x-jws-signature: eyJhbGciOiJQUzI1NiJ9.eyJEYXRhIjp7InBlcm1pc3Npb25zIjp...
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0...
Content-Type: application/json
Content-Length: 337
{"Data":{"permissions":["ReadAccountsBasic","ReadAccountsDetail","ReadBalances","ReadTransactionsCredits","ReadTransactionsDebits","ReadTransactionsDetail","ReadTransactionsBasic"],"expirationDateTime":"2024-10-03T00:00:00+00:00","transactionFromDateTime":"2020-01-01T00:00:00+00:00","transactionToDateTime":"2024-12-31T00:00:00+00:00"}}
Сервер ресурсов проверяет полученный запрос, создает ресурс согласия и возвращает его идентификатор (consentId);
Созданный ресурс согласия
{
"Data": {
"consentId": "9fbe4a9a-2a4f-4c90-850f-96af06f2574e",
"creationDateTime": "2022-08-31T14:36:38.9990152+00:00",
"status": "AwaitingAuthorisation",
"statusUpdateDateTime": "2022-08-31T14:36:38.9990152+00:00",
"permissions": [
"ReadAccountsBasic",
"ReadAccountsDetail",
"ReadBalances",
"ReadTransactionsCredits",
"ReadTransactionsDebits",
"ReadTransactionsDetail",
"ReadTransactionsBasic"
],
"expirationDateTime": "2024-10-03T00:00:00+00:00",
"transactionFromDateTime": "2020-01-01T00:00:00+00:00",
"transactionToDateTime": "2024-12-31T00:00:00+00:00"
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/account-consents?consentId=9fbe4a9a-2a4f-4c90-850f-96af06f2574e"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
На основании полученного consentId, СПИУ создает запрос аутентификации, включающий подписанный объекта запроса с набором запрашиваемых claims (consentId в качестве openbanking_intent_id) для того, чтобы после перенаправления браузера конечного пользователя последний смог бы подтвердить запрос на предоставление доступа к информации по счету(-ам), находясь в интерфейсе ППУ и пройдя аутентификацию требуемого уровня доверия (определяется требованиями ППУ)
Запрос аутентификации с объектом запроса
https://sb-cas.openbankingrussia.ru/sandbox/as/aft/connect/authorize?client_id=f917546e7a194df9bd02342632cd944f
&response_type=code%20id_token
&state=d413df42-32f0-4909-858d-d8a263197991
&redirect_uri=https://localhost.ru/callback&nonce=3c7acf1e-5dc2-498e-8301-480a8cc5c90f
&scope=openid accounts offline_access
&request=ew0KICJ0eXAiOiAiSldUIiwNCiAiYWxnIjogIm5vbmUiDQp9.eyJyZX...
Декодированный объект запроса
{
"response_type": "code id_token",
"state": "d413df42-32f0-4909-858d-d8a263197991",
"scope": "openid accounts offline_access",
"nonce": "3c7acf1e-5dc2-498e-8301-480a8cc5c90f",
"exp": 1662042998,
"max_age": 86400,
"claims": {
"userinfo": {
"openbanking_intent_id": {
"value": "9fbe4a9a-2a4f-4c90-850f-96af06f2574e",
"essential": true
}
},
"id_token": {
"openbanking_intent_id": {
"value": "9fbe4a9a-2a4f-4c90-850f-96af06f2574e",
"essential": true
},
"acr": {
"values": [
"urn:rubanking:sca",
"urn:rubanking:ca"
],
"essential": true
}
}
},
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft",
"iss": "f917546e7a194df9bd02342632cd944f",
"client_id": "f917546e7a194df9bd02342632cd944f",
"redirect_uri": "https://localhost.ru/callback"
}
По завершении процедуры аутентификации и авторизации доступа, браузер Пользователя получает ссылку для переадресации обратно на сервер СПИУ через "redirect_uri". СПИУ получает кода авторизации (code) и токен идентификации (id_token), сгенерированные ППУ
Ответ запроса аутентификации с code и id_token, переданными как fragment
https://localhost.ru/callback#code=9bff7a1447d6f24779be1c5b2ab095f386f0f0981d99d09253bcdf244df28377
&id_token=eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMU...
&scope=openid%20accounts%20offline_access
&state=d413df42-32f0-4909-858d-d8a263197991
&session_state=q5CtsuW0RBAEaM6xE7bq9GMeqjL3ozTY7WHoxjgqvnI.9f5222268b0dc38b49b2c2e95eded731fdfdc5c5448276a4e32ebdd21b649109
СПИУ проверяет актуальность полученных в ответе параметров. По результатам успешной проверки Кода авторизации и параметра "state" с использованием токена идентификации СПИУ формирует запрос на получение токена доступа используя полученный код авторизации. Для этого СПИУ должен представить client_assertion в запросе к конечной точке токена аналогично запросу на шаге 2, но с кодом авторизации и типом доступа authorization_code.
Запрос к конечной точке токена с client_assertion для обмена code на aсcess_token
POST /sandbox/as/aft/connect/token HTTP/1.1
Host: sb-as.openbankingrussia.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: 925
grant_type=authorization_code
&code=9bff7a1447d6f24779be1c5b2ab095f386f0f0981d99d09253bcdf244df28377
&redirect_uri=https%3A%2F%2Flocalhost.ru%2Fcallback
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...
Ответ от конечной точки токена с access_token, id_token и refresh_token
{
"id_token": "eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRT...",
"access_token": "eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBU0NzJGMD...",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "e08906f4a1992551a12df0aceebcf3fa"
}
Имея в распоряжении токен доступа, СПИУ может получить информацию о счетах конечного пользователя, обращаясь к сервисам интерфейса ППУ, предоставляющим информацию о состоянии счета:
Запрос на полный список счетов, которые были авторизованы пользователем на стороне ППУ
GET /sandbox/open-banking/v1.3/aisp/accounts HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGO...
Ответ на запрос полного списка счетов, которые были авторизованы пользователем на стороне ППУ
{
"Data": {
"Account": [
{
"accountId": "100200",
"status": "Enabled",
"statusUpdateDateTime": "2020-08-01T03:06:06+00:00",
"currency": "RUB",
"accountType": "Business",
"accountDescription": "Розничные операции",
"AccountDetails": [
{
"name": "Основной текущий счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
}
],
"Owner": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Servicer": {
"schemeName": "RU.CBR.BIC",
"identification": "044525593"
}
},
{
"accountId": "100201",
"status": "Enabled",
"statusUpdateDateTime": "2020-07-01T04:07:07+00:00",
"currency": "RUB",
"accountType": "Business",
"accountDescription": "Розничные операции",
"AccountDetails": [
{
"name": "Дополнительный текущий счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
}
],
"Owner": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Servicer": {
"schemeName": "RU.CBR.BIC",
"identification": "044525593"
}
},
{
"accountId": "100202",
"status": "Enabled",
"statusUpdateDateTime": "2020-07-03T05:08:08+00:00",
"currency": "RUB",
"accountType": "Business",
"accountDescription": "Розничные операции",
"AccountDetails": [
{
"name": "Дополнительный текущий счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
}
],
"Owner": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Servicer": {
"schemeName": "RU.CBR.BIC",
"identification": "044525593"
}
},
{
"accountId": "100203",
"status": "Enabled",
"statusUpdateDateTime": "2020-07-04T05:08:08+00:00",
"currency": "RUB",
"accountType": "Business",
"accountDescription": "Розничные операции",
"AccountDetails": [
{
"name": "Дополнительный текущий счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234562347"
}
],
"Owner": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Servicer": {
"schemeName": "RU.CBR.BIC",
"identification": "044525593"
}
},
{
"accountId": "100204",
"status": "Enabled",
"statusUpdateDateTime": "2020-07-05T05:08:08+00:00",
"currency": "RUB",
"accountType": "Business",
"accountDescription": "Розничные операции",
"AccountDetails": [
{
"name": "Дополнительный текущий счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234562348"
}
],
"Owner": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Servicer": {
"schemeName": "RU.CBR.BIC",
"identification": "044525593"
}
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts?page=1",
"first": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts?page=1",
"next": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts?page=2",
"last": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts?page=2"
},
"Meta": {
"totalPages": 2,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос информации о счете по идентификатору счета
GET /sandbox/open-banking/v1.3/aisp/accounts/100201 HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0...
Ответ на запрос информации о счете по идентификатору счета
{
"Data": {
"Account": [
{
"accountId": "100201",
"status": "Enabled",
"statusUpdateDateTime": "2020-07-01T04:07:07+00:00",
"currency": "RUB",
"accountType": "Business",
"accountDescription": "Розничные операции",
"AccountDetails": [
{
"name": "Дополнительный текущий счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234567890"
}
],
"Owner": {
"name": "Наименование организации или физического лица",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+00:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"string"
],
"streetName": "Садовая",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"Servicer": {
"schemeName": "RU.CBR.BIC",
"identification": "044525593"
}
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts/100201/100201"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос балансов полного списка счетов, которые были авторизованы пользователем на стороне ППУ
GET /sandbox/open-banking/v1.3/aisp/balances HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOE...
Ответ на запрос балансов полного списка счетов, которые были авторизованы пользователем на стороне ППУ
{
"Data": {
"Balance": [
{
"accountId": "100200",
"type": "OpeningAvailable",
"Amount": {
"amount": "124345.00",
"currency": "RUB"
},
"creditDebitIndicator": "Credit",
"dateTime": "2020-07-01T07:43:07+00:00",
"CreditLine": [
{
"included": true,
"Amount": {
"amount": "10000.00",
"currency": "RUB"
}
},
{
"included": true,
"Amount": {
"amount": "10000.00",
"currency": "RUB"
}
}
]
},
{
"accountId": "100201",
"type": "OpeningAvailable",
"Amount": {
"amount": "201998.00",
"currency": "RUB"
},
"creditDebitIndicator": "Debit",
"dateTime": "2020-07-15T11:22:09+00:00"
},
{
"accountId": "100202",
"type": "OpeningAvailable",
"Amount": {
"amount": "124345.00",
"currency": "RUB"
},
"creditDebitIndicator": "Credit",
"dateTime": "2020-07-02T07:43:07+00:00",
"CreditLine": [
{
"included": false,
"Amount": {
"amount": "7000.00",
"currency": "RUB"
}
}
]
},
{
"accountId": "100202",
"type": "OpeningAvailable",
"Amount": {
"amount": "124345.00",
"currency": "RUB"
},
"creditDebitIndicator": "Credit",
"dateTime": "2020-07-03T07:43:07+00:00",
"CreditLine": [
{
"included": false,
"Amount": {
"amount": "7000.00",
"currency": "RUB"
}
}
]
},
{
"accountId": "100203",
"type": "OpeningAvailable",
"Amount": {
"amount": "124345.00",
"currency": "RUB"
},
"creditDebitIndicator": "Credit",
"dateTime": "2020-07-04T07:43:07+00:00",
"CreditLine": [
{
"included": false,
"Amount": {
"amount": "7000.00",
"currency": "RUB"
}
}
]
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/balances"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос баланса счета по идентификатору счета
GET /sandbox/open-banking/v1.3/aisp/accounts/100201/balances HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0N...
Ответ на запрос баланса по идентификатору счета
{
"Data": {
"Balance": [
{
"accountId": "100201",
"type": "OpeningAvailable",
"Amount": {
"amount": "201998.00",
"currency": "RUB"
},
"creditDebitIndicator": "Debit",
"dateTime": "2020-07-15T11:22:09+00:00"
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts/100201/balances"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос списка транзакций по всем счетам, которые авторизованы пользователем на стороне ППУ
GET /sandbox/open-banking/v1.3/aisp/transactions HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOENzJ...
Ответ на запрос списка транзакций по всем счетам, которые авторизованы пользователем на стороне ППУ
{
"Data": {
"Transaction": [
{
"accountId": "100200",
"transactionIdentification": "12345-TID-004",
"instructionIdentification": "12345-IID-004",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2021-06-05T12:15:13+00:00",
"valueDateTime": "2021-06-05T12:15:13+00:00",
"Amount": {
"amount": "402.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "180620.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-02-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "40.00"
}
}
}
}
},
{
"accountId": "100200",
"transactionIdentification": "12345-TID-005",
"instructionIdentification": "12345-IID-005",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2022-01-05T12:15:13+00:00",
"valueDateTime": "2022-01-05T12:15:13+00:00",
"Amount": {
"amount": "400.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "181020.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2022-01-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "80.00"
}
}
}
}
},
{
"accountId": "100202",
"transactionIdentification": "12345-TID-004",
"instructionIdentification": "12345-IID-004",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2021-06-05T12:15:13+00:00",
"valueDateTime": "2021-06-05T12:15:13+00:00",
"Amount": {
"amount": "402.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "180620.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-02-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "40.00"
}
}
}
}
},
{
"accountId": "100202",
"transactionIdentification": "12345-TID-005",
"instructionIdentification": "12345-IID-005",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2022-01-05T12:15:13+00:00",
"valueDateTime": "2022-01-05T12:15:13+00:00",
"Amount": {
"amount": "400.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "181020.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2022-01-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "80.00"
}
}
}
}
},
{
"accountId": "100203",
"transactionIdentification": "12345-TID-004",
"instructionIdentification": "12345-IID-004",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2021-06-05T12:15:13+00:00",
"valueDateTime": "2021-06-05T12:15:13+00:00",
"Amount": {
"amount": "402.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "180620.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-02-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "40.00"
}
}
}
}
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/transactions?page=1",
"first": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/transactions?page=1",
"next": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/transactions?page=2",
"last": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/transactions?page=4"
},
"Meta": {
"totalPages": 4,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос списка транзакций по идентификатору счета
GET /sandbox/open-banking/v1.3/aisp/accounts/100201/transactions HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMz...
Ответ на запрос списка транзакций по идентификатору счета
{
"Data": {
"Transaction": [
{
"accountId": "100201",
"transactionIdentification": "12345-TID-004",
"instructionIdentification": "12345-IID-004",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2021-06-05T12:15:13+00:00",
"valueDateTime": "2021-06-05T12:15:13+00:00",
"Amount": {
"amount": "402.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "180620.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-02-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "40.00"
}
}
}
}
},
{
"accountId": "100201",
"transactionIdentification": "12345-TID-005",
"instructionIdentification": "12345-IID-005",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2022-01-05T12:15:13+00:00",
"valueDateTime": "2022-01-05T12:15:13+00:00",
"Amount": {
"amount": "400.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "181020.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2022-01-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "80.00"
}
}
}
}
},
{
"accountId": "100201",
"transactionIdentification": "12345-TID-001",
"instructionIdentification": "12345-IID-001",
"purpose": "1",
"creditDebitIndicator": "Debit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2021-02-05T12:15:13+00:00",
"valueDateTime": "2021-02-05T12:15:13+00:00",
"Amount": {
"amount": "202.00",
"currency": "RUB"
},
"ChargeAmount": {
"amount": "2.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "180918.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"UltimateDebtor": {
"name": "Фамилие Имя Отчество",
"mobileNumber": "79206001010",
"countryOfResidence": "RU",
"countryOfBirth": "RU",
"provinceOfBirth": "Ставрапольский край",
"cityOfBirth": "Ставраполь",
"birthDate": "2021-06-05T15:15:13+03:00",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "331093271049"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
}
],
"PostalAddress": {
"addressType": "Residential",
"addressLine": [
"19019, г. Москва,",
"ул. Садовая, д. 1 "
]
}
},
"Debtor": {
"name": "Наименование организации плательщика",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810221234570101"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"CreditorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"Creditor": {
"name": "Наименование организации",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-02-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "40.00"
}
}
}
}
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts/100201/transactions?page=1",
"first": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts/100201/transactions?page=1",
"last": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/accounts/100201/transactions?page=1"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос создания ресурса выписки по счету
POST /sandbox/open-banking/v1.3/aisp/statements HTTP/1.1
x-idempotency-key: 4518fbf3-c370-42de-97fd-9a8882f9bf47
x-jws-signature: eyJhbGciOiJQUzI1NiJ9..WryqwxsKAkEBXaXgLu6px1NgvHTdAcVQB...
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOE...
Content-Type: application/json
Content-Length: 143
{"Data":{"Statement":{"accountId":"100201","fromBookingDateTime":"2020-01-01T00:00:00+00:00","toBookingDateTime":"2021-07-01T00:00:00+00:00"}}}
Созданный ресурс выписки по счету
{
"Data": {
"Statement": {
"statementId": "6ddc740c-1569-47c3-a139-f9a3d5674d1f",
"accountId": "100201",
"fromBookingDateTime": "2020-01-01T00:00:00+00:00",
"toBookingDateTime": "2021-07-01T00:00:00+00:00"
}
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/statements"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос выписки по всем авторизованным счетам
GET /sandbox/open-banking/v1.3/aisp/statements HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0NzJGMDVGNEUxRDk...
Выписка по всем авторизованным счетам
{
"Data": {
"Statement": [
{
"statementId": "020740da-1da6-465d-928a-908c2152d00e",
"fromBookingDateTime": "2020-01-01T00:00:00+00:00",
"toBookingDateTime": "2021-01-01T00:00:00+00:00",
"creationDateTime": "2022-08-31T13:05:38+00:00"
},
{
"statementId": "6ddc740c-1569-47c3-a139-f9a3d5674d1f",
"fromBookingDateTime": "2020-01-01T00:00:00+00:00",
"toBookingDateTime": "2021-01-01T00:00:00+00:00",
"creationDateTime": "2022-08-31T13:09:08+00:00"
},
{
"statementId": "cf925331-9ef1-441a-a8f8-4df990156fd3",
"fromBookingDateTime": "2020-01-01T00:00:00+00:00",
"toBookingDateTime": "2021-07-01T00:00:00+00:00",
"creationDateTime": "2022-08-31T17:25:20+00:00",
"Transaction": [
{
"accountId": "100201",
"transactionIdentification": "12345-TID-004",
"instructionIdentification": "12345-IID-004",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2021-06-05T12:15:13+00:00",
"valueDateTime": "2021-06-05T12:15:13+00:00",
"Amount": {
"amount": "402.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "180620.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-02-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "40.00"
}
}
}
}
}
]
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/statements?page=1",
"first": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/statements?page=1",
"last": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/statements?page=1"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос выписки по идентификатору выписки
GET /sandbox/open-banking/v1.3/aisp/statements/cf925331-9ef1-441a-a8f8-4df990156fd3 HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0N...
Выписка по идентификатору выписки
{
"Data": {
"Statement": [
{
"statementId": "cf925331-9ef1-441a-a8f8-4df990156fd3",
"fromBookingDateTime": "2020-01-01T00:00:00+00:00",
"toBookingDateTime": "2021-07-01T00:00:00+00:00",
"creationDateTime": "2022-08-31T17:25:20+00:00",
"Transaction": [
{
"accountId": "100201",
"transactionIdentification": "12345-TID-004",
"instructionIdentification": "12345-IID-004",
"purpose": "1",
"creditDebitIndicator": "Credit",
"status": "AcceptedSettlementInProcess",
"bookingDateTime": "2021-06-05T12:15:13+00:00",
"valueDateTime": "2021-06-05T12:15:13+00:00",
"Amount": {
"amount": "402.00",
"currency": "RUB"
},
"BankTransactionCode": {
"code": "20",
"issuer": "RU.CBR"
},
"Balance": {
"сreditDebitIndicator": "Credit",
"type": "Expected",
"Amount": {
"amount": "180620.00",
"currency": "RUB"
}
},
"PaymentTypeInformation": {
"localInstrument": 1,
"сategoryPurpose": "0",
"serviceLevel": "NURG"
},
"Debtor": {
"name": "Наименование организации плательщика",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "7728240240"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "991230001"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "1027700092661"
}
],
"PostalAddress": {
"addressType": "Business",
"addressLine": [
"19019, г. Москва,",
"ул. Центральная, д. 123"
]
}
},
"DebtorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "624501911"
},
"DebtorAccount": {
"name": "Основной счет",
"schemeName": "RU.CBR.BBAN",
"identification": "40817810621234570002"
},
"CreditorAgent": {
"schemeName": "RU.CBR.BICFI",
"identification": "44525533"
},
"Creditor": {
"name": "Наименование организации получателя",
"countryOfResidence": "RU",
"Identification": [
{
"schemeName": "RU.CBR.TXID",
"identification": "3826589963"
},
{
"schemeName": "RU.CBR.TAXT",
"identification": "840401324"
},
{
"schemeName": "RU.CBR.OGRN",
"identification": "28196819529"
}
],
"PostalAddress": {
"addressType": "Business",
"streetName": "Арбат",
"buildingNumber": "34-1",
"postCode": "115114",
"townName": "Москва",
"countrySubDivision": "Москва",
"country": "RU"
}
},
"RemittanceInformation": {
"unstructured": "Назначение платежа - оплата за товары или услуги",
"CreditorReferenceInformation": {
"type": "ИПД",
"reference": "CBR-130"
},
"TaxRemittance": {
"administrationZone": "45388000",
"referenceNumber": "0",
"date": "2021-02-05T00:00:00+03:00",
"creditor": {
"taxType": "7719107193"
},
"debtor": {
"taxType": "3826589963"
},
"Record": {
"TaxAmount": {
"rate": "20",
"totalAmount": "40.00"
}
}
}
}
}
]
}
]
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/statements/cf925331-9ef1-441a-a8f8-4df990156fd3?page=1",
"first": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/statements/cf925331-9ef1-441a-a8f8-4df990156fd3?page=1",
"last": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/statements/cf925331-9ef1-441a-a8f8-4df990156fd3?page=1"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос статуса согласия на доступ к счету
GET /sandbox/open-banking/v1.3/aisp/account-consents/1f46e571-fb33-4563-982b-cbea9cbc9218 HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0N...
Ответ на запрос статуса согласия на управление счетом
{
"Data": {
"consentId": "1f46e571-fb33-4563-982b-cbea9cbc9218",
"creationDateTime": "2022-09-02T12:50:47+00:00",
"status": "AwaitingAuthorisation",
"statusUpdateDateTime": "2022-09-02T12:50:47+00:00",
"permissions": [
"ReadAccountsBasic",
"ReadAccountsDetail",
"ReadBalances",
"ReadTransactionsCredits",
"ReadTransactionsDebits",
"ReadTransactionsDetail",
"ReadTransactionsBasic"
],
"expirationDateTime": "2024-10-03T00:00:00+00:00",
"transactionFromDateTime": "2020-01-01T00:00:00+00:00",
"transactionToDateTime": "2024-12-31T00:00:00+00:00"
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/account-consents/1f46e571-fb33-4563-982b-cbea9cbc9218"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос на поручение об извлечении данных
GET /sandbox/open-banking/v1.3/aisp/account-consents/1f46e571-fb33-4563-982b-cbea9cbc9218/retrieval-grant HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0Nz...
Ответ на запрос на поручение об извлечении данных
{
"Data": {
"consentId": "1f46e571-fb33-4563-982b-cbea9cbc9218",
"retrievalGrantId": "1f46e571-fb33-4563-982b-cbea9cbc9218",
"documentType": "Поручение на извлечение",
"OGRN": "1234500132195",
"creationDateTime": "2022-09-02T12:50:47+00:00",
"expirationDateTime": "2024-10-03T00:00:00+00:00"
},
"Links": {
"self": "https://sb-rs.openbankingrussia.ru/sandbox/open-banking/v1.3/aisp/account-consents/1f46e571-fb33-4563-982b-cbea9cbc9218/retrieval-grant"
},
"Meta": {
"totalPages": 1,
"firstAvailableDateTime": "0001-01-01T00:00:00+00:00",
"lastAvailableDateTime": "0001-01-01T00:00:00+00:00"
}
}
Запрос удаления согласия на доступ к счету
DELETE /sandbox/open-banking/v1.3/aisp/account-consents/1f46e571-fb33-4563-982b-cbea9cbc9218 HTTP/1.1
Host: sb-rs.openbankingrussia.ru
Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0Nz...
Ответ на запрос удаления согласия на доступ к счету
204 No Content
В тех случаях, когда токен доступа становится не валидным в силу истечения срока его действия, СПИУ/СППУ может (опционально) использовать токен обновления, обменивая его на новый токен доступа.
Запрос обмена токена обновления на токен доступа
POST /sandbox/as/aft/connect/token HTTP/1.1
Host: sb-as.openbankingrussia.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: 904
client_id=f917546e7a194df9bd02342632cd944f
&client_assertion=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&grant_type=refresh_token
&scope=payments
&refresh_token=11a3a09f7ff90799ad4e33dde5517adb
Ответ с конечной точки токена с новым токеном доступа
{
"access_token": "eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTFGOEU0NzJ...",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "11a3a09f7ff90799ad4e33dde5517adb",
"scope": "openid offline_access payments"
}
Сервер ресурсов получает информацию о токене доступа обращаясь к конечной точки интросекции
Запрос к конечной точке интроспекции
POST /sandbox/as/aft/connect/introspect HTTP/1.1
Host: sb-as.openbankingrussia.ru
Content-Type: application/x-www-form-urlencoded
Content-Length: 2222
token=eyJhbGciOiJQUzI1NiIsImtpZCI6IjdGMzZFMDAwMUFBRTF...
&grant_type=client_credentials
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3M...
Ответ с конечной точки интроспеции с информацией о токене доступа
{
"nbf": 1661172198,
"exp": 1661175798,
"iss": "https://sb-as.openbankingrussia.ru/sandbox/as/aft",
"aud": "https://sb-as.openbankingrussia.ru/sandbox/as/aft/resources",
"client_id": "f917546e7a194df9bd02342632cd944f",
"scope": [
"openid",
"offline_access",
"payments"
],
"sub": "643b068f-9259-4bb5-a0ee-acbb00891458",
"auth_time": 1661163434,
"idp": "openbankingrussia.ru",
"acr": "urn:rubanking:sca",
"name": "test",
"realm": "aft",
"openbanking_intent_id": "91392e44-4131-4f8e-a380-781e735f3f5f",
"jti": "d497f9d2c6396ab0136c7e8de14f9b15a35faff7a3cf83b19aefe7c5d30ca5b6",
"client_jwks_uri": "https://sb-jwks.openbankingrussia.ru/sandbox/jwks/f917546e7a194df9bd02342632cd944f",
"amr": "password",
"cnf": {
"x5t#S256": "C7qKLMKk_bJmQNCgT8MB50VV0d4HJBFgKANg25-Nj60"
},
"active": true
}