Пристап до сметки

Преглед

Сервисот за информации за сметка (AIS) овозможува TPP-ови да пристапат до информации за сметките на Корисник на Платежна Услуга (PSU). За да пристапи до информациите за сметката, TPP прво мора да создаде согласност и таа да биде одобрена од PSU. Со одобрената согласност, TPP може да ги добие информациите за сметките на PSU: состојби на сметките, историја на трансакции и други релевантни податоци.

Опис на текот

Подолу е даден опис на интеграциониот тек во кој TPP воспоставува AIS согласност и ја презема листата на сметки на PSU. Овој тек претпоставува дека:
  • TPP избира експлицитен почеток на авторизацијата со поставување на хедерот Client-Explicit-Authorisation-Preferred: True;
  • Банката бара Redirect SCA за иницираната трансакција.
Забелешка: Прикажаниот тек подолу се фокусира на комуникацијата помеѓу TPP и XS2A интерфејсот на платформата за отворено банкарство (OBP), поедноставувајќи ги деталите за комуникацијата помеѓу OBP и банката.
Access To Accounts Diagram
Чекор 1
Корисникот на платните услуги (PSU) ја иницира креирањето на согласност преку интерфејсот на TPP.
Чекор 2
TPP повикува POST /consents/account-access за да креира AIS согласност:
  curl -X POST "https://api.ob.kibs.mk/ais/v2/consents/account-access"
  -H "X-Request-Id: dc7b16a5-4ac8-4fdc-9c4e-9f9d0387dc07"
  -H "Content-Type: application/json"
  -H "PSU-ID: 446456475755"
  -H "PSU-IP-Address: 123.321.123.321"
  -H "Client-Explicit-Authorisation-Preferred: True"
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA.......'
  -d '{
    "access": {
      "payments": [
        {
          "account": {
            "iban": "XX80BANK0000435195001"
          },
          "rights": [
            "accountDetails",
            "balances",
            "transactions"
          ]
        }
      ]
    },
    "consentType": "detailed",
    "recurringIndicator": true,
    "validTo": "2025-12-30",
    "frequencyPerDay": "4"
  }'
Note: Доколку се користат правата за пристап „balances“ или „transactions“, тогаш согласноста за обезбедување „accountDetails“ се смета за имплицитно дадена.
Чекор 3
OBP враќа уникатен идентификатор на согласност:
{
  "consentId": "e521cf62-a45f-49c5-8372-94853fffeb55",
  "consentStatus": "received",
  "_links": {
    "startAuthorisation": {
      "href": "/consents/account-access/e521cf62-a45f-49c5-8372-94853fffeb55/authorisations"
    }
  }
}
Чекор 4
TPP повикува POST /consents/account-access/{consent-id}/authorisations (со Client-Redirect-URI и Client-Redirect-Nok-URI хедери) за експлицитно започнување на авторизацијата (SCA).
Чекор 5
OBP ја враќа SCA Redirect URL ($.links.scaRedirect.href) за PSU да изврши силна клиентска автентикација (SCA):
{
   "scaStatus": "received",
   "authorisationId": "d3f9c3f2-7a8f-4c7f-9b7e-b02e6fdc9420",
   "_links": {
       "self": {
           "href": "/ais/v2/consents/account-access/e521cf62-a45f-49c5-8372-94853fffeb55/authorisations/d3f9c3f2-7a8f-4c7f-9b7e-b02e6fdc9420"
       },
       "scaRedirect": {
            "href": "https://bankscaserver.com/auth/d3f9c3f2-7a8f-4c7f-9b7e-b02e6fdc9420"
       }
   }
}
Чекор 6
TPP го пренасочува PSU кон SCA Redirect URL на банката. Ова е веб-страница на банката каде PSU треба да се автентицира и да ја одобри трансакцијата.
Чекор 7
PSU ја завршува авторизацијата во интерфејсот на банката (веб или мобилен).
Чекорs 8-9
Банката го пренасочува PSU назад кон TPP користејќи го Client-Redirect-URI кој го обезбедил TPP.
Чекор 10
TPP продолжува да го проверува статусот на согласноста сè додека не добие REJECTED или VALID (GET /consents/account-access/{consent-id}/status).
Чекор 11
OBP одговара со статус на согласност ($.consentStatus):
{
  "consentStatus": "valid"
}
Чекор 12
TPP го информира PSU за резултатот од авторизацијата на согласноста.
Чекор 13
PSU го бара своето информации за сметката преку интерфејсот на TPP.
Чекор 14
TPP го повикува GET /accounts?withBalance=true со Consent-ID header.
Чекор 15-17
OBP проверува дали согласноста сè уште е валидна и ги побарува податоците од Банката.
Чекор 18
OBP ги враќа податоците за сметките на PSU:
{
  "accounts": [
    {
      "iban": "XX80BANK0000435195001",
      "currency": "MKD",
      "resourceId": 12321,
      "name": "string",
      "balances": [
        {
          "balanceAmount": {
            "currency": "MKD",
            "amount": 12.21
          },
          "balanceType": "closingBooked",
          "referenceDate": "12.12.2021"
        }
      ]
    }
  ]
}
Чекор 19
TPP ја прикажува информацијата за сметките на PSU.

AIS-специфични кодови на грешки

СценариоГрешка
Согласноста што се обидувате да ја користите за пристап до информациите за сметката повеќе не е валидна.401 – CONSENT_INVALID
Ја надминувате дневната граница од 4 GET барања без присуство на PSU (т.е. барања без PSU-IP-Address хедер)429 – ACCESS_EXCEEDED