Додаток 3. Приклад тест-кейсів для контрактного тестування
Редакція OpenBanking Ukraine
Цей додаток містить приклади тест-кейсів для контрактного тестування PIS API (версія 2.1) з очікуваними позитивними та негативними результатами.
Тест №1.1. Ініціювання платіжної операції
| Передумова | PSU має діючий рахунок в UAH у ASPSP |
|---|---|
| Кроки виконання | PISP здійснює виклик: |
POST /v2/payments/{payment-product}(див. розділ 4.1) | | Очікуваний результат | Позитивний:
- Платіжна операція створена, HTTP code =
201(див. розділ 4.1).
Негативний:
- Платіжна операція не створена, HTTP code ≠
201(див. розділ 4.1), зокрема у випадках:- невідповідність або невалідність даних QWAC та реєстрі платіжної інфраструктури;
- переданий некоректний IBAN платника (якщо був переданий);
- IBAN платника відсутній у цього ASPSP (якщо був переданий);
- балансовий рахунок не входить у перелік рахунків відкритого банкінгу;
- валюта переказу не дорівнює UAH;
- рахунок платника не дорівнює UAH;
- сума платіжної операції не відповідає лімітам, встановленим ASPSP (мінімальна, максимальна сума платіжної операції);
- некоректний request syntax;
- некоректний semantics. | | Постумова | Створений платіж |
Тест №1.2. Авторизація ресурсу платіжної операції
| Передумова | Пройдений тест-кейс 1.1 з позитивним результатом |
|---|---|
| Кроки виконання | PISP здійснює виклик: |
POST /v2/{resource-path}/{resourceId}/{authorisation-category}(див. розділ 4.2) | | Очікуваний результат | Позитивний:
- Ресурс платіжної операції авторизований, HTTP code =
201(див. розділ 4.2).
Негативний:
- Ресурс платіжної операції не авторизований, HTTP code ≠
201(див. розділ 4.2), зокрема у випадках:- невідповідність або невалідність даних QWAC та реєстрі платіжної інфраструктури;
- переданий некоректний
resourceId; - недостатньо коштів на рахунку для здійснення платіжної операції (ця перевірка може здійснюватись і після авторизації ресурсу платіжної операції; ASPSP самостійно вирішує, на якому етапі буде реалізована перевірка);
- некоректний request syntax;
- некоректний semantics. | | Постумова | Для SCA Redirect отриманий лінк для перенаправлення PSU для проходження SCA на стороні ASPSP. Для Decoupled — PSU отримав push-повідомлення для проходження SCA. |
Тест №1.3. Перевірка статусу платіжної операції
| Передумова | Успішно пройдений тест-кейс 1.1 |
|---|---|
| Кроки виконання | PISP здійснює виклик для отримання статусу платіжної операції: |
GET /v2/{payment-service}/{payment-product}/{paymentId}/status(повертає тільки статус платіжної операції) (див. розділ 4.3.1)
або
GET /v2/{payment-service}/{payment-product}/{paymentId}(повертає повну інформацію про платіжну операцію) (див. розділ 4.3.2)
Примітка: PISP на власний розсуд вирішує, чи потрібно тестувати обидва ендпоінти. | | Очікуваний результат | Позитивний:
- HTTP code =
200, отриманий статус платіжної операції (див. розділи 4.3.1 та 4.3.2 відповідно).
Негативний:
- HTTP code ≠
200(див. розділи 4.3.1 та 4.3.2 відповідно), зокрема у випадках:- невідповідність або невалідність даних QWAC та реєстрі платіжної інфраструктури;
- некоректний request syntax;
- некоректний semantics;
- некоректний/неіснуючий
paymentId. | | Постумова | Отриманий статус платіжної операції |
Примітки щодо полів QWAC (термінологія TPP)
- TPP Registration Number —
OrganizationIdentifierу QWAC. Наприклад,PSDU-NBU-123456, де123456— це код ID НБУ (NbuId) — єдиний ідентифікатор, що присвоюється Національним банком України установі. - TPP Name — це поле
Organization (O)у QWAC. - TPP Role —
RolesOfPSP(0.4.0.19495.1)уX509v3 extensions.qcStatements. - TPP National Competent Authority —
OrganizationIdentifier—PSDU-NBU.