Додаток 3. Приклад тест-кейсів для контрактного тестування

Редакція OpenBanking Ukraine

Цей додаток містить приклади тест-кейсів для контрактного тестування AIS API: отримання ідентифікатора рахунку (resourceId), балансу та списку транзакцій.

Тест-кейс №1. Отримати ідентифікатор рахунку

ПараметрОпис
Передумова● PSU має діючий рахунок в UAH/USD/EUR в ASPSP (України).
● Є діюча згода PSU, де вказаний тип доступу:
  отримання балансу (access = balances) та/або
  
отримання списку транзакцій (access = transactions).
Примітка: за замовчування при наданні згоди встановлюється обов’язковий технічний доступ (access = accountDetails) для отримання ідентифікатору рахунку (resourceId).
Кроки виконанняAISP здійснює виклик: 1. GET /v2/accounts {query-parameters} для отримання ідентифікатору рахунку (resourceId)
Очікуваний результатПозитивний:
● ідентифікатор рахунку (resourceId) отриманий, HTTP status code = 200.

Негативний:
● ідентифікатор рахунку (resourceId) не отриманий, HTTP status code не = 200 у зв’язку з некоректними даними у запиті:
невідповідність або невалідність даних QWAC та Реєстрі платіжної інфраструктури;
недійсний/некоректний consentId;
некоректний IBAN;
балансовий рахунок не дорівнює 2600, 2620;
IBAN не належить цьому ASPSP;
некоректний request syntax;
* некоректний semantics.
ПостумоваОтриманий ідентифікатор рахунку (resourceId) для виконання тест-кейсу 2 або 3.

Тест-кейс №2. Отримати баланс по рахунку

ПараметрОпис
Передумова● PSU має діючий рахунок в UAH/USD/EUR в ASPSP (України).
● Є діюча згода на надання відомостей з рахунку, де вказаний тип доступу: отримання балансу (access = balances).
● Позитивний очікуваний результат по тест-кейсу 1.
Кроки виконанняAISP здійснює виклик: 1. GET /v2/accounts/{account-id}/balances для отримання балансу по рахунку.
Очікуваний результатПозитивний:
● Баланс по рахунку отриманий, HTTP status code = 200.

Негативний:
● Баланс по рахунку не отриманий, HTTP code не = 200 у зв’язку з некоректними даними у запиті:
невідповідність або невалідність даних QWAC та Реєстрі платіжної інфраструктури;
недійсний/некоректний consentId;
у згоді на цей рахунок відсутні права на отримання балансу (access = balances);
переданий некоректний IBAN;
переданий некоректний accountId (це resourceId, отриманий у тест-кейсі 1);
балансовий рахунок не дорівнює 2600, 2620;
IBAN не належить цьому ASPSP;
некоректний request syntax;
* некоректний semantics.
ПостумоваВідсутня.

Тест-кейс №3. Отримати списку транзакцій

ПараметрОпис
Передумова● PSU має діючий рахунок в UAH/USD/EUR в ASPSP (України).
● Є діюча згода PSU, де вказаний тип доступу: отримання списку транзакцій (access = transactions).
● Позитивний результат по тест-кейсу 1.
Кроки виконанняAISP здійснює виклик: 1. GET /v2/accounts/{account-id}/balances для отримання списку транзакцій.
Очікуваний результатПозитивний:
● Отримання списку транзакцій по рахунку, отриманий HTTP status code = 200.

Негативний:
● Список транзакцій по рахунку не отриманий, HTTP code не = 200:
невідповідність або невалідність даних QWAC та Реєстрі платіжної інфраструктури;
недійсний/некоректний consentId;
у згоді на цей рахунок відсутні права на отримання списку транзакцій (access = transactions);
переданий некоректний IBAN;
балансовий рахунок не дорівнює 2600, 2620;
переданий некоректний accountId (це resourceId, отриманий у тест-кейсі 1);
IBAN не належить цьому ASPSP;
некоректний request syntax;
* некоректний semantics.
ПостумоваВідсутня.

Примітки щодо полів QWAC

  1. TPP Registration NumberOrganizationIdentifier у QWAC. Наприклад, PSDU-NBU–123456, де 123456 — це код ID НБУ (NbuId) – єдиний ідентифікатор, що присвоюється Національним банком України установі.
  2. TPP Name — це поле Organization (O) у QWAC.
  3. TPP Role — RolesOfPSP(0.4.0.19495.1)X509v3 extensions.qcStatements.
  4. TPP National Competent AuthorityOrganizationIdentifier – PSDU-NBU.