9. Процеси авторизації, що використовуються у всіх сервісах

Редакція OpenBanking Ukraine

Процеси авторизації використовуються для бізнес-транзакцій у відкритому банкінгу, які потребують автентифікації PSU із застосуванням різних підходів SCA, визначених у розділі 8. Опис у цьому розділі є загальним: відповідні endpoints можуть не дублюватися в специфікаціях сервісів для покращення читабельності, але повні специфікації (включно з endpoints авторизації) доступні у відповідних YAML-файлах.

Підтримуються наступні API-методи для процесів авторизації:

Endpoints/ResourcesМетодУмоваОпис
{resourcepath}/{resourceId}/authorisations}/{authorisation-category}POSTMandatoryЗапускає процес авторизації з визначеним resourceId.

9.1. Авторизація ресурсу

Процес авторизації — це процес, який створює новий субресурс авторизації. Відповідний субресурс відображає кроки автентифікації PSU як процес авторизації.

Цей процес ініціюється в наступному сценарії: ASPSP надав гіперпосилання в атрибуті _links у відповіді на запит на ініціювання платіжної операції або створення згоди. Це означає, що API client має явно (explicit) почати процес авторизації шляхом виклику endpoint, вказаного нижче.

Виклик

POST /v2/{resource-path}/{resourceId}/{authorisation-category}

Запускає процес авторизації з визначеним resourceId.

Path Parameters

АтрибутТипОпис
resource-pathStringPath ресурсу {service}/{product-type}, де: 1) {service} означає тип обслуговування пов’язаної бізнес-операції: consents (для згоди) або payments (для ініціювання платежу). 2) {product-type} означає тип продукту відповідної бізнес-операції: account-access у випадку авторизації згоди; або обраний PSU платіжний продукт: instant-credit-transfers (миттєвий кредитовий переказ), credit-transfers (кредитовий переказ).
authorisation-categoryStringВикористовується у випадку авторизації ресурсу платіжної операції або згоди. Можливі значення: authorisations.
resourceIdStringІдентифікатор, отриманий у відповіді на виклик створення платіжної операції або створення згоди PSU на надання відомостей з рахунків.

Query Parameters

Відсутні.

Request Header

АтрибутТипУмоваОпис
X-Request-IDUUIDMandatoryID запиту, унікальний для виклику, як це визначено ініціюючою стороною.
PSU-IDStringConditionalІдентифікатор PSU-фізичної особи в клієнтському інтерфейсі ASPSP. Повинен передаватися, якщо запит позначений як startAuthorisationWithPsuIdentification і цей атрибут раніше не був переданий.
PSU-ID-TypeStringConditionalТип PSU-ID фізичної особи, необхідний у сценаріях, коли PSU мають кілька типів ідентифікаторів, як можливість доступу. Можливі значення визначені у розділі 8.2. Повинен передаватися, якщо запит позначений як startAuthorisationWithPsuIdentification і цей атрибут раніше не був переданий.
PSU-Corporate-IDStringConditionalІдентифікатор суб’єкту господарювання (ФОП) в онлайн-каналах ASPSP. Повинен передаватися, якщо запит позначений як startAuthorisationWithPsuIdentification і цей атрибут раніше не був переданий.
PSU-Corporate-ID-TypeStringConditionalТип ідентифікатора суб’єкту господарювання (PSU-Corporate-ID), необхідний у сценаріях, коли PSU мають кілька типів ідентифікаторів, як можливість доступу. Можливі значення визначені у розділі 8.2. Повинен передаватися, якщо запит позначений як startAuthorisationWithPsuIdentification і цей атрибут раніше не був переданий.
AuthorizationStringConditionalАтрибут заповнюється, якщо обрано OAuth2 як попередній крок для автентифікації PSU.
Client-SCA-Approach-PreferenceStringOptionalСписок значень, розділених комами, де перший запис має вищий пріоритет, ніж наступний; або кожен підхід SCA, який взагалі не вказується. Наприклад: "decoupled, redirect" або "decoupled". Цей атрибут може ігноруватися ASPSP.
Client-Redirect-URIStringConditionalURI TPP, куди повинен бути направлений потік транзакцій після перенаправлення. Передбачено для підходу Redirect SCA. Це поле може бути проігноровано ASPSP. Рекомендується завжди використовувати це поле в header.
Client-Nok-Redirect-URIStringOptionalЯкщо цей URI міститься, TPP просить перенаправити потік транзакцій на цю адресу замість Client-Redirect-URI у разі негативного результату redirect SCA. Це може бути проігноровано ASPSP.

Request Body

Немає.

Response Code

HTTP response code дорівнює 201.

Response Header

АтрибутТипУмоваОпис
X-Request-IDUUIDMandatoryID запиту, унікальний для виклику, як це визначено ініціюючою стороною.
ASPSP-SCA-ApproachStringConditionalМожливі значення: DECOUPLED, REDIRECT. OAuth буде включений у REDIRECT.

Response Body

АтрибутТипУмоваОпис
transactionFeesAmountOptionalМоже використовуватися ASPSP для передавання загальної комісії за операцію, що стосується основних платежів у випадку платіжного ресурсу. Це поле включає в себе currencyConversionFee, якщо це необхідно.
currencyConversionFeesAmountOptionalНа даний момент не буде використовуватись в Україні. Може використовуватися ASPSP для транспортування конкретних комісій за конвертацію валюти, пов’язаних з ініційованим кредитним переказом у випадку resourceId платіжного ресурсу.
estimatedTotalAmountAmountOptionalСума, яка списується з рахунку PSU у випадку використання платіжного ресурсу. Примітка: ця сума включає в себе комісії ASPSP.
estimatedInterbankSettlementAmountAmountOptionalРозрахункова сума, що підлягає перерахуванню отримувачу у разі здійснення платіжної операції.
scaStatusSCA StatusMandatoryСтатус SCA. Може приймати значення: started (розпочато SCA); psuIdentified (ідентифікований PSU, пов’язаний з ресурсом авторизації); psuAuthenticated (PSU, пов’язаний з ресурсом авторизації, був ідентифікований та автентифікований); finalised (процедура SCA була успішно завершена; кінцевий статус авторизаційного ресурсу); failed (SCA не пройдений; кінцевий статус авторизаційного ресурсу).
authorisationIdStringMandatoryУнікальний ідентифікатор створеного субресурсу авторизації.
_linksLinksMandatoryГіперлінки для подальших кроків. Можливі посилання: 1) scaRedirect (тільки для Redirect SCA): посилання для перенаправлення на автентифікацію PSU. 2) scaOAuth: у разі застосування підходу SCA OAuth2, ASPSP передає URI, за яким можна отримати конфігурацію сервера авторизації. Конфігурація відповідає специфікації метаданих сервера авторизації OAuth 2.0. 3) confirmation: може бути додано ASPSP, якщо у тій самій відповіді повертається або посилання scaRedirect, або scaOAuth. Це посилання визначає URL ресурсу, який потрібно оновити з використанням: (а) коду підтвердження, отриманого після простого процесу автентифікації з перенаправленням через сервер автентифікації ASPSP, або (б) токена доступу, отриманого шляхом подання коду авторизації після інтегрованого процесу автентифікації на основі OAuth з сервером автентифікації ASPSP. Примітка: усі посилання можуть бути відносними або повними, на розсуд ASPSP.
psuMessageMax500TextOptionalПовідомлення для PSU. Надсилати для Decoupled SCA — обов’язково. За замовчуванням текст повідомлення передається українською мовою.

Приклад

{
  "_links": {
    "scaStatus": {
      "href": "/v2/consents/account-access/c221466e-aa8c-4411-9cc2-690e6f5685ab/authorisations/6c33ee5c-1cef-44ed-9334-3f9c2bfde755"
    }
  },
  "consentId": "c221466e-aa8c-4411-9cc2-690e6f5685ab",
  "psuMessage": "Будь ласка, перейдіть в додаток АBank24 для підтвердження надання згоди.",
  "scaStatus": "psuIdentified",
  "authorisationId": "6c33ee5c-1cef-44ed-9334-3f9c2bfde755"
}