Регистрацията на консент за ползване на сметки/сметки става на 3 стъпки.
Първо се изпраща консент с данни за сметките (IBAN, валута), за кои операции са достъпни – детайлна информация, баланс, транзакции, също и данни до кога е валиден консента (validUntil съответно достъпни сметките посочени в него, колко пъти на ден (frequencyPerDay) може да се достъпва информация за всяка сметка.
Втората стъпка е потвърждение на консента с OTP. Ако това не се случи в дефиниран интервал от време спрямо регистрацията, консентът се маркира като Rejected и сметките по него не са достъпни. В момента това време е 20 минути.
Третата стъпка е да се взимат данни за консента, в които има линкове за всяка операция към всяка сметка. Сметките се достъпват по ID на консента, коeто се носи в Consent-ID HTTP хедър + генерирано ID за сметката (а не по IBAN).
Винаги по ID на консента може да се прави справка за статуса му. Статусите към момента са:
- Received – консентът успешно е регистриран
- Valid – консентът е авторизиран и могат да се ползват регистрираните в него сметки
- Rejected – консентът не е бил авторизиран в определения интервал от време и вече е неизползваем
- Expired – консентът е с изтекъл срок на валидност и не може да се ползват ресурсите му (сметките в него).
Характерното за PSD2 е, че всеки регистриран ресурс се достъпва през уникално ID генерирано от server-side на PSD2 имплементацията – всички консенти, сметки, плащания първо минават фаза регистрация, после фаза авторизация и накрая могат да се ползват през това ID.
Освен това всяко обръщение към PSD2 API трябва да носи в X-Request-ID хедър уникален номер на обръщението, като отговорът прави ехо в същия хедър.
При грешка в бодито на респонса може да има JSON с текст на грешката, например:
{
"code": 404,
"description": "There is no consent with that ID!"
}