Підключайтесь! Всі подробиці в Чаті підтримки



Опис процесу передачі даних для взаємодії між Банком та Партнером у межах програми «Партнерський інстолмент»

1. Глосарій

2. Партнерський інстолмент/ Partnership Installment

3. Передача даних

4. Послідовність взаємодій

5. Опис API

6. Опис взаємодії

7. Описание методов

7.1. Pеєстрація замовлення: метод createOrder

7.1.1. Виклик Партнера з боку Банку на етапі реєстрації замовлення

7.1.2. Виклик Партнера з боку Банку для передачі параметрів для формування Гарантійного листа

7.1.3. Виклик Партнера з боку Банку для передачі Гарантійного листа в форматі BASE64

7.1.4. Виклик Партнера з боку Банку для передачі позитивного рішения Банку про можливість оформлення замовлення у розстрочку (для Партнерів, що працюють за схемою без використання Гарантійного листа)

7.2. Отримання інформації щодо замовлення: метод getOrder

7.3. Отримання Гарантійного листа для замовлення: метод getGuarantee

7.4. Скасування замовлення (за ініціативою Партнера): метод cancelOrder

7.4.1. Виклик Партнера з боку Банку на етапі опрацювання запиту на скасування замовлення

7.5. Підтвердження замовлення: метод confirmOrder

7.6. Перевірка можливості здійснення повернення товару із замовлення: метод checkReversal

7.7. Повернення товару із замовлення: метод reversalOrder

7.7.1. Виклик Партнера з боку Банку на етапі реєстрації повернення

7.8. Отримання інформації щодо повернення: метод getReversal

7.9. Отримання виписки по рахунку/IBAN: метод sendStatementTaskByAccount

7.10. Варіанти поведінки Партнера у випадку виникнення окремих статусів на методах реєстрації замовлення, скасування, повернення

7.11. Перевірка можливості розстрочки: метод prescoring/PARTNER_ID


1. Глосарій

Термін

Опис

Installment Бізнес-сервіс продажу Клієнтам послуги розстрочки під час купівлі товарів за кредитними картками
Банк
АТ «Сенс-Банк»
Партнер
Торговельна мережа з магазинами, в яких Клієнт Банку здійснює покупку в розстрочку
Клієнт
Клієнт Банку, у якого в Банку відкрито рахунок кредитної картки, на якому за авторизаціями покупок оформлюється розстрочка (в разі виконання умов продукту розстрочки)
Замовлення (на оформлення покупки у розстрочку)
Подія в магазині Партнера, коли покупка оформлюється, і відбувається авторизація
Гарантійний лист
Лист від Банку на адресу Партнера, відправлений будь-яким із доступних каналів, що гарантує перерахування відшкодування на рахунок Партнера суми операції купівлі Клієнта в магазині Партнера (за мінусом комісії Банку)

(наверх)

2. Партнерський інстолмент/ Partnership Installment

Installment — бізнес-сервіс продажу Клієнтам послуги розстрочки за умови здійснення покупки за кредитними картками. Партнерський інстолмент — процес, що дозволяє при оформленні Клієнтом розстрочки на покупку в магазині Партнера розподілити суму покупки, списану за кредитною карткою, рівними платежами для погашення на кількість місяців, вибрану Клієнтом. Вибір кількості місяців розстрочки відбувається на боці Партнера за погодженням із Клієнтом. Комісія Клієнта за такої розстрочки відсутня.

Зазначена нижче інформація призначена для надання відомостей Партнеру щодо технічної реалізації, і описує варіанти передачі даних між Банком та Партнером у межах програми «Партнерський інстолмент».

(наверх)

3. Передача даних

Сервер Банку надає програмний інтерфейс для передачі та прийому даних зашифрованим протоколом. Відправлення та отримання даних між Банком та Партнером відбувається в автоматичному режимі. Взаємодію засновано на використанні протоколу TLS 1.2 з серверними сертифікатами, що забезпечує автоматичне шифрування даних під час передачі. Прикладні дані передаються із застосуванням протоколу HTTPS у вигляді JSON-повідомлень із застосуванням базової авторизації з використанням логіна та пароля.

(наверх)

4. Послідовність взаємодій

(наверх)

5. Опис API

Банк за допомогою API приймає та відправляє дані HTTPS-протоколом шляхом REST-запитів. У тілі запиту передається JSON у кодуванні UTF-8:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/SERVICE_METHOD/PARTNER_ID

де

retailapi.sensebank.com.ua:8243 — хост, на якому розміщено сервіс;

            SERVICE_METHOD — метод API;

            PARTNER_ID — унікальний ідентифікатор, присвоєний Банком для ідентифікації Партнера.

Для тестового середовища PARTNER_ID=partner

Наприклад:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

Вимоги до заголовків запитів:

Authorization: Basic login: password,

де

login: partner

password: !PaRt_Ne09_R#

API надає такі методи (SERVICE_METHOD) для оформлення розстрочки:

(наверх)

6. Опис взаємодії

Перед початком тестування Партнеру необхідно заповнити та передати в Банк документ з параметрами – "Заявка_ПІ_прод", шаблон документа надасть менеджер Банку.

Партнер на початковому етапі, на старті перед тестуванням з Банком, визначає, яким чином буде працювати з Банком у межах програми «Партнерський інстолмент».

Якщо Партнер планує працювати, викликаючи Банк, то послідовність така:

У разі виклику createOrder необхідно отримати статус IN_PROCESSING – це означає, що заявка прийнята Банком, у роботі.

Далі виклик методу getOrder, де потрібно отримати статус PURCHASE_IS_OK.

Якщо було отримано негативну відповідь – потрібно відмінити поточну заявку методом cancelOrder  і творити новий зпит createOrder.

У разі позитивної відповіді необхідно викликати метод getGuarantee.

Після Банк очікує від Партнера виклику методу або confirmOrder.

Якщо Партнер визначив, що працюватиме за допомогою callBack від Банку, то у разі виклику createOrder необхідно вказати коректний callBackURL – URL для надсилання рішення (коректний URL сервісу Партнера, який повинен прийняти та обробити відповідь від Банку).

Формат callBack: авторизацію використовувати Basic з передачею логіна і пароля в base64. Якщо за callBack Партнер отримує статус PURCHASE_IS_OK – це і є автоматичне підтвердження замовлення.

Нижче в описі пункти «Виклик Партнера з боку Банку» = опис callBack.

(наверх)

7. Опис методів

7.1. Реєстрація замовлення: метод createOrder

Метод застосовується для реєстрації нового замовлення. Під час прийому набору параметрів виконуються первинні перевірки.

API: https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/PARTNER_ID

HTTPS METHOD: POST

Приклад запиту:

curl -k -u "partner":"!PaRt_Ne09_R#" --header "Content-Type: application/json" --request POST --data '{"mPhone":"+380977896541","orderId":"50552717","panEnd":"9654","orderSum":"619700","orderTerm":"6", "eMailPartner":"asfaf@erger.te","callBackURL":"https:\/\/dpartnapu01.sensebank.bank.int\/v1\/sensebank_postback\/"}' https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

Вхідні параметри:

мобільний номер телефону Клієнта Банку в міжнародному форматі (наприклад, +380671111111)

4 останні цифри номера картки Клієнта, за якою буде оформлено розстрочку.  Для нових партнерів, що підключаються за новим API, цей параметр не використовується.  Для партнерів, які вже працюють зі старим API, параметр залишається необхідним, у випадку сумісності систем (міграції), параметр може зберігатись, але ігноруватиметься при передачі.

ІД замовлення покупки в розстрочку, унікальний в межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

сума покупки (в копійках)

строк розстрочки (в місяцях)

У параметрі із зазначенням терміну розстрочки дозволена передача значень від 1 до 24

URL для відправки рішення (коректний URL сервісу партнера, який повинен прийняти та обробити відповідь від банку) Поле обов'язкове для заповнення у випадку, якщо Партнер визначив, що працюватиме за допомогою callBack від Банку

код магазина Партнера

ідентифікатор точки продаж, унікальный в межах партнера (partnerId))

найменування товару/групи товарів

orderNom містить масив, значеннями якого являються об'єкти {},які в свою чергу мають ключ, значення name: string, sum: string* integer (в копійках), vat:  string* integer (в копійках)

*параметри sum та vat рекомендовано передавати як string, але також допускається передача як integer

набір додаткових параметрів

сума ПДВ (у копійках)

e-mail для відправки Гарантійного листа
Поле обов'язкове для заповнення у випадку, якщо Партнер визначив, що отримуватиме Гарантійний лист на e-mail

Вихідні параметри:

ІД замовлення покупки в розстрочку, унікальний в межах Банку. Приклад, 3824449f-42da-11f0-90a0-00505697882c

код відповіді Банку за запитом реєстрації замовлення

Текст відповіді Банку за запитом реєстрації замовлення

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

Максимально допустиме значення суми розстрочки = 200 000 UAH

Мінімально допустиме значення суми розстрочки = 500 UAH

За результатами попередніх перевірок, до реєстрації замовлення з боку Банку можливі такі варіанти негативних статусів:

 

 

 

statusCode
statusText
Примітка
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований в системі!»
 
MATCH_ORDERID
«Замовлення з номером ${orderId} вже існує!»

INVALID_ORDERID
«Вказаний некоректний номер замовлення!»

INVALID_MPHONE
«Вказаний некоректний номер телефону»

INVALID_ORDERSUM
«Вказана некоректна сума розстрочки»

INVALID_ORDERTERM
«Вказаний некоректний строк розстрочки»

INVALID_CALLBACKURL
«Вказаний некоректний URL»

ORDERSUM_EXCEEDS
«Сума розстрочки перевищує допустиме значення в ${maxOrder} UAH»
Значення ${maxOrder}" відображувати у грн
ORDERSUM_LOW
«Сума розстрочки нижче допустимого значення в ${minOrder} UAH»
Значення ${minOrder}" відображувати в грн
INVALID_EMAIL
«Вказаний некоректний email»

У разу УСПІШНОГО проходження попередніх перевірок та реєстрації замовлення можливі такі варіанти статусів:

statusCode
statusText
Примітки
IN_PROCESSING
«Замовлення опрацьовується!»
Замовлення створено

Під час подальших кроків перевірки параметрів замовлення можливі варіанти статусів, що передаються Банком під час виклику Партнера.

Для тестування методів можна використовувати номер телефону формату +380... (будь-який код оператора, крім 06) у параметрі mPhone.

Приклад №1 statusCode - NO_PARTNERID, statusText - ''Партнер ${partnerId} не зареєстрований у системі!'':

Примітка: відправляти запит з незареєстрованим partnerId.

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partn

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "p17",
    "orderSum": "121600",
    "orderTerm": "9",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum":  "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "NO_PARTNERID",
    "statusText": "Партнер part не зареєстрований в системі!",
    "messageId": "",
    "orderId": ""
}

Приклад №2 statusCode  - MATCH_ORDERID, statusText - ''Замовлення з номером ${orderId} вже існує!'':

Примітка: Відправляти запит createOrder з orderId, що вже зареєстрований у системі банку.

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "p17",
    "orderSum": "121600",
    "orderTerm": "9",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum":  "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "MATCH_ORDERID",
    "statusText": "Замовлення з номером p17 вже існує!",
    "messageId": "",
    "orderId": "p17"
}

Приклад №3 statusCode  - INVALID_ORDERID, statusText - "Вказаний некоректний номер замовлення!":

Примітка: Відправляти запит createOrder з порожнім параметром orderId.

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "",
    "orderSum": "121600",
    "orderTerm": "9",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum":  "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "INVALID_ORDERID",
    "statusText": "Вказаний некоректний номер замовлення!",
    "messageId": "",
    "orderId": ""
}

Приклад №4 statusCode  - INVALID_MPHONE, statusText - "Вказаний некоректний номер телефона":

Примітка: Відправити запит createOrder з некоректним номером телефону (кількість символів у номері).

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380969998877",
    "shopId": "46546-БwfqК",
    "orderId": "nomer1",
    "orderSum": "121600",
    "orderTerm": "9",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum":  "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "INVALID_MPHONE",
    "statusText": "Вказаний некоректний номер телефону",
    "messageId": "",
    "orderId": "nomer1"
}

Приклад №5 statusCode  - INVALID_ORDERSUM, statusText - "Вказана некоректна сума розстрочки":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "nomer1",
    "orderSum": "121600.22",
    "orderTerm": "9",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum":  "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "INVALID_ORDERSUM",
    "statusText": "Вказана некоректна сума розстрочки",
    "messageId": "",
    "orderId": "nomer1"
}

Приклад №6 statusCode  - INVALID_ORDERTERM, statusText - "Вказаний некоректний термін розстрочки":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "nomer1",
    "orderSum": "121600",
    "orderTerm": "25",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum": "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "INVALID_ORDERTERM",
    "statusText": "Вказаний некоректний термін розстрочки",
    "messageId": "",
    "orderId": "nomer1"
}

Приклад №7 statusCode  - INVALID_CALLBACKURL, statusText - "Вказаний некоректний URL":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "nomer1",
    "orderSum": "121600",
    "orderTerm": "15",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum":"395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "INVALID_CALLBACKURL",
    "statusText": "Вказаний некоректний URL",
    "messageId": "",
    "orderId": "nomer1"
}

Приклад №8 statusCode  - ORDERSUM_EXCEEDS, statusText - "Сума розстрочки перевищує допустиме значення в ${maxOrder} UAH":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "nomer1",
    "orderSum": "121600000",
    "orderTerm": "15",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum": "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "ORDERSUM_EXCEEDS",
    "statusText": "Сума розстрочки перевищує допустиме значення в 200000 UAH",
    "messageId": "",
    "orderId": "nomer1"
}

Приклад №9 statusCode  - ORDERSUM_LOW, statusText - "Сума розстрочки нижче допустимого значення в ${minOrder} UAH":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "46546-БwfqК",
    "orderId": "nomer1",
    "orderSum": "1216",
    "orderTerm": "15",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum": "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "ORDERSUM_LOW",
    "statusText": "Сума розстрочки нижче допустимого значення в 50000 UAH",
    "messageId": "",
    "orderId": "nomer1"
}

Приклад №10 (Успішний кейс) statusCode  - IN_PROCESSING, statusText - "Замовлення опрацьовується!":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{
    "mPhone": "+380967896608",
    "shopId": "shop150",
    "orderId": "nomer1",
    "orderSum": "50100",
    "orderTerm": "12",
    "eMailPartner": "test@mytestemail.com",
    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",
    "orderNom": [
        {
            "name": "Easars EH957 Black (9590009082)",
            "sum": "395700"
        }
    ],
    "orderAdd":"тест"
}

out json:

{
    "statusCode": "IN_PROCESSING",
    "statusText": "Замовлення в обробці!",
    "messageId": "3824449f-42da-11f0-90a0-00505697882c",
    "orderId": "nomer1"
}

(наверх)

7.1.1 Виклик Партнера з боку Банку на етапі реєстрації замовлення

Партнер на початковому етапі узгодження налаштувань з Банком визначає для себе, яким чином він бажає виконувати покупки/списання з клієнтського рахунку.

Можливі 2 режими роботи:

При цьому в межах одного PARTNER_ID допустимий тільки 1 режим роботи.

Вхідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД замовлення покупки в розстрочку, унікальний у межах Банку

код статусу опрацювання запиту Банку

текст статусу опрацювання запиту Банку

Вихідні параметри:

код відповіді Партнера

Варіанти статусів за callBack:

statusCode
Вид покупки
statusText
Примітка
NO_CONTRAGENT_MPHONE
Звичайна
«Клієнта з номером телефона ${mPhone} не знайдено»
Замовлення створено, помилка
LOW_BALANCE
Звичайна
«Недостатній баланс на картці»
Замовлення створено, помилка
INST_ALLOWED_FAIL
Звичайна
«За карткою неможливо оформити розстрочку»
Замовлення створено, помилка
NO_PRODUCT
Звичайна
«Не знайдено продукт розстрочки»
Замовлення створено, помилка
SYSTEM_ERROR
Звичайна
«Виникла системна помилка!»
Замовлення створено, помилка
PURCHASE_IS_FAIL
Звичайна
«Покупка неуспішна! Замовлення не оформлено!»
Замовлення створено, помилка
PURCHASE_IS_OK
Звичайна
«Покупка успішна, відправлено Гарантійний лист»
Замовлення створено, покупка успішна
PRE_PURCHASE_IS_OK
Предавторизація
«Покупка успішна! Відправлено Гарантійний лист!»
Виникає в разі успішного відпрацювання авторизації покупки
PURCHASE_IS_FAIL
Предавторизація
«Покупка неуспішна! Замовлення не оформлено!»
Виникає в разі неуспішного відпрацювання предавторизації покупки
PURCHASE_IS_FAIL_EX
Предавторизація
«Покупка неуспішна! Замовлення не оформлено!»
Виникає в разі неуспішного відпрацювання предавторизації покупки
PRE_PURCHASE_IS_OK
Предавторизація
«Покупка успішна! Відправлено Гарантійний лист!»
Виникає в разі успішного відпрацювання авторизації покупки
CONFIRM_IS_OK
Предавторизація
«Покупка успішна!»
Виникає в разі успішного відпрацювання авторизації покупки
CLIENT_NO_SEND_SMS

«Клієнт не підтвердив розстрочку замовлення»
Замовлення створено, клієнт не підтвердив розстрочку замовлення

(наверх)

7.1.2 Виклик Партнера з боку Банку для передачі параметрів для формування Гарантійного листа

Вхідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД замовлення покупки в розстрочку, унікальний у межах Банку

набір параметрів (в форматі json) для формування Гарантійного листа

код запиту Банку

текст запиту Банку

Вихідні параметри:

код відповіді Партнера

(наверх)

7.1.3 Виклик Партнера з боку Банку для передачі Гарантійного листа в форматі BASE64

Вхідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД замовлення покупки в розстрочку, унікальний у межах Банку

текст Гарантійного листа в форматі Base64

код запиту Банку

текст запиту Банку

текст Гарантійного листа з КЕП в форматі Base64

Вихідні параметри:

код відповіді Партнера за запитом

Приклад statusCode  - PURCHASE_IS_OK, statusText - "Покупка успішна, відправлено Гарантійний лист":

in json:

{

    "statusCode": "PURCHASE_IS_OK",

    "statusText": "Покупка успішна, відправлено Гарантійний лист",

    "messageId": "3824449f-42da-11f0-90a0-00505697882c"

    "orderId": "order123"

    "base64PdfSigned": "Гарантійний лист з КЕП"

    "base64Pdf": "Гарантійний лист (pdf)"

}

out json:

{

    "statusCode": "OK",

}

(наверх)

7.1.4 Виклик Партнера з боку Банку для передачі позитивного рішення Банку про можливість оформлення замовлення в розстрочку (для Партнерів, що працюють за схемою без використання Гарантійного листа)

Вхідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД замовлення покупки в розстрочку, унікальний у межах Банку

набір параметрів замовлення (в форматі json)

код запиту Банку

текст запиту Банку

Вихідні параметри:

код відповіді Партнера

(наверх)

7.2 Отримання інформації щодо замовлення — метод getOrder

Метод застосовується для отримання інформації щодо замовлення.

API:  https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getOrder/PARTNER_ID?orderId= ІД_замовлення_партнер

або

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox /api/PartnerInstallment/v1.0/getOrder/PARTNER_ID?messageId= ІД_замовлення_банк

HTTPS METHOD: GET

Приклад запиту:

curl -k --header "Authorization: Basic dGVzdHVzZXI6dGVzdHVzZXI=" --request GET https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getOrder/partner?orderId=BF21174E7DAA4DE6E0539B5A8F0A565E

Вихідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Банку

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

Код відповіді Банку за запитом реєстрації замовлення

Текст відповіді Банку за запитом реєстрації замовлення, опис statusCode

мобільний номер телефону клієнта Банку в міжнародному форматі (приклад, +380671111111)

4 останні цифри номера картки Клієнта, за якою була оформлена розстрочка. Параметр присутній лише для заявок, створених через стару версію API. Для нових партнерів, підключених через оновлений API, параметр не використовується та не повертається у відповіді. У разі сумісності (міграції) може зберігатись, але не має функціонального значення.

сума покупки (в копійках)

сума ПДВ (в копійках)

строк розстрочки (в місяцях)

У параметрі із зазначенням терміну розстрочки дозволена передача значень від 1 до 24

код магазина Партнера

найменування товару/групи товарів

orderNom містить масив, значеннями якого являються об'єкти {},які в свою чергу мають ключ, значення name: string, sum: string (в копійках), vat: string (в копійках)

набір додаткових параметрів

Варіанти негативних відповідей:

statusCode
statusText
Примітка
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований в системі!»*

NO_APP
«Замовлення не знайдено!»*

NO_CONTRAGENT_MPHONE
«Клієнта з номером телефону $ {mPhone} не знайдено»

NO_CARD_PANEND
«У клієнта відсутні договори кредитної карти»

LOW_BALANCE
«Недостатній баланс на картці»

INST_ALLOWED_FAIL
«За карткою ${card4Last} неможливо оформити розстрочку»

NO_PRODUCT
«Не знайдено продукт розстрочки»

PURCHASE_IS_FAIL
«Покупка неуспішна! Замовлення не оформлено!»

PURCHASE_IS_FAIL_EX
«Покупка неуспішна! Замовлення не оформлено!»

NO_IDS
«Не передано ідентифікатор замовлення»

CLIENT_NO_SEND_SMS
«Клієнт не підтвердив розстрочку замовлення»

SYSTEM_ERROR
«Виникла системна помилка!»

FINAL_CANCEL_OK
«Обробка скасування замовлення з номером $ {orderId} успішна»
Статус означає, що заявку було скасовано

* Якщо замовлення не знайдено (в параметрах запиту вказано некоректний ідентифікатор Партнера або замовлення) у відповіді всі вихідні параметри будуть порожніми, крім параметрів statusCode, statusText.

У всіх інших випадках — у відповіді набір параметрів замовлення буде непорожнім, параметри statusCode, statusText міститимуть поточне значення статусу обробки замовлення.

Варіанти позитивних відповідей:

statusCode
statusText
Примітка
PURCHASE_IS_OK
«Покупка успішна, відправлено Гарантійний лист!»
Потрібно орієнтуватися на цей статус
PRE_PURCHASE_IS_OK
«Покупка успішна, відправлено Гарантійний лист!»
Потрібно орієнтуватися на цей статус (для передавторизації)
FINAL_ORDER_OK
«Товар видано клієнту»

Приклад №1 statusCode  - NO_PARTNERID, statusText - ''Партнер ${partnerId} не зареєстрований у системі!'':

Запит:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getOrder/partnr?orderId=p12

out json

{

    "messageId": "",

    "orderId": "p12",

    "statusCode": "NO_PARTNERID",

    "statusText": "Партнер partnr не зареєстрований у системі!"

}

Примітка: Ввести відсутній у системі partner_id, наприклад, partnr замість partner.

Приклад №2 statusCode  - NO_APP, statusText - ''Замовлення не знайдено!'':

Запит:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getOrder/partner?orderId=p22

out json

{

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "",

    "statusCode": "NO_APP",

    "statusText": "Замовлення не знайдено!"

}

Приклад №3 (Успішний кейс) statusCode  - FINAL_ORDER_OK, statusText - "Товар видано клієнту"":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getOrder/partner?orderId=p11

out json:

{

    "orderAdd": "",

    "orderId": "p12",

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderVat": "",

    "orderSum": "121600",

    "orderNom": [],

    "orderTerm": "3",

    "panEnd": "9654",

    "statusText": "Товар видано клієнту",

    "mPhone": "+380977896608",

    "shopId": "46546-?wfq?",

    "statusCode": "FINAL_ORDER_OK"

}

(наверх)

7.3 Отримання Гарантійного листа для замовлення: метод getGuarantee

Метод застосовується для отримання Гарантійного листа. Може використовуватися в разі, коли під час відправки Гарантійного листа виникла помилка.

Працює тільки для замовлень, за якими успішно відбулася купівля.

API:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getGuarantee/PARTNER_ID?orderId= ІД_замовлення_партнер

або

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getGuarantee/PARTNER_ID?messageId= іД_замовлення_банк

HTTPS METHOD: GET

Залежно від налаштувань Партнера, з боку Банку можливі такі варіанти відправки Гарантійного листа (або їх комбінація):

Вихідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД замовлення покупки в розстрочку, унікальний у межах Банку

набір параметрів (у форматі json) для формування Гарантійного листа

Прізвище клієнта

Ім’я клієнта

По-батькові клієнта

ПІБ клієнта

ІПН клієнта

текст Гарантійного листа у форматі Base64

код відповіді Банку за запитом відправки Гарантійного листа

текст відповіді Банку за запитом відправки Гарантійного листа

текст Гарантійного листа з КЕП в форматі Base64

* в списку параметрів присутній хоча б один із параметрів або всі параметри одночасно

* *параметри повертаються тільки при відповідних конфігураційних налаштуваннях Партнера на стороні Банку

Варіанти відповідей:

statusCode
statusText
Примітка
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований у системі!»

NO_IDS
«Не передано ідентифікатор замовлення»
 
NO_APP
«Замовлення не знайдено!»
 
INVALID_EMAIL
"Вказаний некоректний email"
 
GUARANTEE_IS_FAIL
«За замовленням ${orderId}|${messageId} відправка Гарантійного листа неможлива!»
 
GUARANTEE_IS_OK
«Повторно відправлено Гарантійний лист!»

GUARANTEE_MAIL_OK
«Гарантійний лист відправлено на e-mail»

GUARANTEE_IS_EMPTY
«Під час формування Гарантійного листа виникла помилка! Спробуйте пізніше»

Приклад №1 statusCode  - NO_PARTNERID, statusText - ''Партнер ${partnerId} не зареєстрований у системі!'':

Запит:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getGuarantee/part?messageId= dc6291e3-4d13-11f0-8386-00505697882con:

{

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "",

    "statusCode": "NO_PARTNERID",

    "statusText": "Партнер parer не зареєстрований у системі!"

}

Примітка: Ввести неіснуючий у системі partner_id, наприклад, partnr замість partner

Приклад №2 statusCode  - NO_IDS, statusText - "Не передано ідентифікатор замовлення":

Запит:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getGuarantee/partner?messageId=

out json:

{

    "messageId": "",

    "orderId": "",

    "statusCode": "NO_IDS",

    "statusText": "Не передано ідентифікатор замовлення"

}

Примітка: Передати незаповнений orderId та messageId

Приклад №3 statusCode  - NO_APP, statusText - ''Замовлення не знайдено!'':

Запит:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getGuarantee/part?messageId= dc6291e3

out json:

{

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "",

    "statusCode": "NO_APP",

    "statusText": "Замовлення не знайдено!"

}

Примітка: Передати неіснуючий orderId або messageId

Приклад №4 statusCode  - GUARANTEE_IS_FAIL, statusText - ''За замовленням ${orderId}|${messageId} відправка Гарантійного листа неможлива!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getGuarantee/partner?orderId=p12

out json:

{

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "p12",

    "statusCode": "GUARANTEE_IS_FAIL",

    "statusText": "За замовленням p12|dc6291e3-4d13-11f0-8386-00505697882c відправка Гарантійного листа неможлива!"

}

Примітка: Виклик метода для запиту, за яким ще не може бути сформовано гарантію

Приклад №5 statusCode  - GUARANTEE_IS_OK, statusText - ''Повторно відправлено Гарантійний лист!''':

 https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getGuarantee/part?messageId=ebf8b878-e38e-48fa-8376-fe7b158da55f

out json:

{

    "middleNameUkr": null,

    "nameUkr": null,

    "orderId": "part120",

    "taxId": "3327805234",

    "statusText": "Повторно відправлено Гарантійний лист!",

    "messageId": "ebf8b878-e38e-48fa-8376-fe7b158da55f",

    "guarantee": {

        "transactionDate": "16.01.2021",

        "orderSum": 142600,

        "orderVat": 0,

        "sumComis": 2432,

        "accrualSum": 140168

    },

    "firstNameUkr": "Denys",

    "lastNameUkr": "Levchenko",

    "statusCode": "GUARANTEE_IS_OK",

    "base64Pdf": "dfdfd",

    "base64PdfSigned": "fkdldkf "

}

Примітка: Вказати messageId запиту по якому "statusCode": " FINAL_ORDER_OK"

(наверх)

7.4 Скасування замовлення (за ініціативи Партнера): метод cancelOrder

Метод застосовується для скасування замовлення за ініціативи Партнера.

Партнер за допомогою методу API cancelOrder передає набір параметрів для скасування замовлення. У запиті може бути тільки один параметр – orderId або messageId, або ж обидва параметри одночасно.

Запит cancelOrder Партнер може передати, коли замовлення знаходиться на будь-якому етапі процесу

API: https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/cancelOrder/PARTNER_ID

HTTPS METHOD: POST

Вхідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД замовлення покупки в розстрочку, унікальний у межах Банку

ІД скасування (може містити цифри, букви, символи, параметр має бути унікальним у межах партнера)

причина скасування

        * у запиті обов’язково має бути присутнім orderId або messageId

Вихідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Банку

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

код відповіді Банку за запитом скасування замовлення

текст відповіді Банку за запитом скасування замовлення

Варіанти відповідей:

statusCode
statusText
Примітки
INVALID_ORDERID
«Указано некоректний номер замовлення!»

INVALID_CANCELID
«Указано некоректний номер скасування!»

NO_APP
«Замовлення не знайдено!»

NO_IDS
«Не передано ідентифікатор замовлення»

CANCEL_IS_OK
«Відміна замовлення з номером ${orderId} в обробці»

CANCEL_AFTER_OK
«Відміна неможлива. Скористайтесь операцією повернення»

SYSTEM_ERROR
«Виникла системна помилка!»

REQUEST_NOT_MATCH''
«Запит не можна опрацювати. Перевірте статус замовлення»

Приклад №1 statusCode  - INVALID_CANCELID, statusText - "Вказаний некоректний номер відміни!":

Примітка: Відправити запит без cancelId.

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "cancelId": "",

    "reasonCancel": "відмова клієнта"

}

out json:

{

    "statusCode": "INVALID_CANCELID",

    "statusText": "Вказаний некоректний номер відміни!",

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "null"

}

Приклад №2 statusCode  - NO_APP, statusText - ''Замовлення не знайдено!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

    "messageId": "2",

    "cancelId": "555-ВВ",

    "reasonCancel": "відмова клієнта"

}

Примітка: вказати неіснуючий номер замовлення

out json:

{

    "statusCode": "NO_APP",

    "statusText": "Замовлення не знайдено!",

    "messageId": "2",

    "orderId": "null"

}

Приклад №3 statusCode  - NO_IDS, statusText - "Не передано ідентифікатор замовлення":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

    "orderId": "",

    "cancelId": "555-ВВ",

    "reasonCancel": "відмова клієнта"

}

out json:

{

    "statusCode": "NO_IDS",

    "statusText": "Не передано ідентифікатор замовлення",

    "messageId": "null",

    "orderId": "null"

}

Примітка: Відправити запит без orderId.

Приклад №4 statusCode  - CANCEL_IS_OK, statusText - ''Відміна замовлення з номером ${orderId} в обробці":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

    "orderId": "part140",

    "cancelId": "cancelPart-140-1",

    "reasonCancel": "відмова клієнта"

}

out json:

{

    "statusCode": "CANCEL_IS_OK",

    "statusText": " Відміна замовлення з номером part140 в обробці.",

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "part140"

}

Примітка: Ввести orderId заявки по якій покупка не підтверджена

Приклад №5 statusCode  - CANCEL_AFTER_OK, statusText - "Відміна неможлива. Скористайтесь операцією повернення":

Примітка: cancelOrder викликається для заявки, що знаходиться на фінальному кроці (наприклад, "statusCode": " FINAL_ORDER_OK" ).

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

"orderId": "part130",

"cancelId": "rc0101",

"reasonCancel": "test"

}

out json:

{

    "statusCode": "CANCEL_AFTER_OK",

    "statusText": " Відміна неможлива. Скористайтесь операцією повернення",

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "part130"

}

(наверх)

7.4.1 Виклик Партнера з боку Банку на етапі опрацювання запиту на скасування замовлення

Вхідні параметри:

ІД замовлення, що скасовується, унікальний у межах Партнера

ІД замовлення повернення, унікальний у межах Банку

код запиту Банку з опрацювання запиту скасування замовлення

текст запиту Банку з опрацювання запиту скасування замовлення

Варіанти статусів за callBack:

statusCode
statusText
Примітки
CANCEL_IS_FAIL
«Відміна замовлення неуспішна»

FINAL_CANCEL_OK
«Відміна замовлення ${orderId} опрацьована успішно»

(наверх)

7.5 Підтвердження замовлення: метод confirmOrder

Метод застосовується для підтвердження замовлення з боку Партнера. Використовується в окремих випадках для очікування підтвердження або скасування замовлення протягом певного часу (максимально — до кінця поточного дня). За замовчуванням відповіді від Партнера замовлення вважається узгодженим.

API: https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/confirmOrder/PARTNER_ID

HTTPS METHOD: POST

Вхідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД замовлення покупки в розстрочку, унікальний у межах Банку

* у запиті обов’язково має бути присутнім orderId або messageId

Вихідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Банку

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

код відповіді Банку за запитом реєстрації замовлення

текст відповіді Банку за запитом реєстрації замовлення

Варіанти відповідей:

statusCode
statusText
Примітка
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований у системі!»
 
INVALID_ORDERID
«Вказаний некоректний номер замовлення!»

NO_APP
«Замовлення не знайдено!»

NO_IDS
«Не передано ідентифікатор замовлення»

CONFIRM_IS_OK
«Замовлення з номером ${orderId} підтверджено!»
Замовлення оформлено
SYSTEM_ERROR
«Виникла системна помилка!»

REQUEST_NOT_MATCH
«Запит неможливо обробити. Перевірте статус замовлення»

Приклад №1 statusCode  - NO_PARTNERID, statusText - ''Партнер ${partnerId} не зареєстрований у системі!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/confirmOrder/partnr

in json:

{

"orderId": "с137",

"messageId": "dc6291e3-4d13-11f0-8386-00505697882c"

}

out json:

{

    "statusCode": "NO_PARTNERID",

    "statusText": "Партнер partnr не зареєстрований у системі!",

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "с137"

}

Примітка: Ввести неіснуючий в системі partner_id, наприклад, partnr замість partner

Приклад №2 statusCode  - NO_APP, statusText - "Замовлення не знайдено!":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/confirmOrder/partner

in json:

{

"orderId": "с196",

"messageId": "dc6291e3"

}

out json:

{

    "statusCode": "NO_APP",

    "statusText": "Замовлення не знайдено!",

    "messageId": "dc6291e3",

    "orderId": "с196"

}

Примітка: Некоректний messageId

Приклад №3 statusCode  - NO_IDS, statusText - "Не передано ідентифікатор замовлення":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/confirmOrder/partner

in json:

{

"orderId": ""

}

out json:

{

    "statusCode": "NO_IDS",

    "statusText": "Не передано ідентифікатор замовлення",

    "messageId": "null",

    "orderId": "null"

}

Примітка: Поле orderId не заповнено

Приклад №4 statusCode  - CONFIRM_IS_OK, statusText - ''Замовлення з номером ${orderId} підтверджено!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/confirmOrder/partner

in json:

{

"orderId": "с120",

"messageId": "dc6291e3-4d13-11f0-8386-00505697882c"

}

out json:

{

    "statusCode": "CONFIRM_IS_OK",

    "statusText": "Замовлення з номером part120 підтверджено",

    "messageId": "dc6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "part120"

}

Приклад №5 statusCode  - REQUEST_NOT_MATCH, statusText - "Запит не можна опрацювати! Перевірте статус замовлення!"':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/confirmOrder/partner

in json:

{

"orderId": "с120",

"messageId": "c6291e3-4d13-11f0-8386-00505697882c"

}

out json:

{

    "statusCode": "REQUEST_NOT_MATCH",

    "statusText": "Запит не можна опрацювати. Перевірте статус замовлення.",

    "messageId": "c6291e3-4d13-11f0-8386-00505697882c",

    "orderId": "с120"

}

Примітка:  викликати для заявки, що знаходиться на фінальному кроці (наприклад, "statusCode": " FINAL_ORDER_OK" ).

(наверх)

7.6 Перевірка можливості здійснення повернення товару із замовлення: метод checkReversal

Метод застосовується для перевірки можливості здійснення повернення товару із замовлення. Застосовується тільки до замовлень, за якими успішно відбулася покупка. Не застосовується до замовлень, які було скасовано. У запиті передається ідентифікатор замовлення (orderId), за яким здійснюється перевірка можливості повернення і сума повернення (reversalSum).

API: https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/ checkReversal/PARTNER_ID?orderId= ИД_заказа_партнер&reversalSum=сума повернення

HTTPS METHOD: GET

Вихідні параметри:

ІД запиту, унікальний у межах Банку

Код відповіді Банку за запитом

Текст відповіді Банку за запитом

Варіанти статусів:

statusCode
statusText
Примітка
NO_IDS
«Не передано ідентифікатор замовлення»
Коли параметр orderId відсутній в запиті або його значення пусте або містить некоректні символи
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований у системі!'»
Коли параметр partnerId відсутній в запиті або його значення пусте або містить некоректні символи
INVALID_REVERSALSUM
«Вказана некоректна сума повернення»
Коли параметр reversalSum відсутній в запиті або його значення пусте або містить некоректні символи
NO_REVERSAL
«Повернення згідно замовлення з номером ${orderId} не можливо обробити!»
• Якщо процедура по якимсь причинам не змогла розпарсити JSON
• Якщо не змогли знайти картку, по якій виконували покупку
• Якщо операція покупки була здійснена з неправильним кодом
• Якщо процедура знайшла більше, ніж одну покупку за вхідними параметрами
CARD_NOT_ACTIVE
«Карта не в статусі \"Активна\"»
• Якщо картка заблокована клієнтом або Банком • Якщо картка, по якій робили покупку, вже анульована
NO_ORDERID
«Не знайдена оригінальна покупка»
• Коли за вказаним orderId не була знайдена оригінальна покупка
REV_MORE_PURCH
«Сума повернення перевищує суму оригінальної покупки»
• Коли вказано reversalSum більше, ніж сума оригінальної покупки
• Коли по цій покупці був виконаний раніше успішний запит reversalOrder на повну суму покупки або cancelOrder
• Коли по покупці був виконаний раніше успішний частковий реверсал і вказана поточна reversalSum перевищує допустиму залишкову (=від суми оригінальної покупки відняти суму успішного попереднього реверсалу/реверсалів)
CHECK_REVERSAL_IS_OK
«Повернення по замовленню з номером ${orderId} на суму ${reversalSum} доступне»

Приклад №1 statusCode  - NO_PARTNERID, statusText - ''Партнер ${partnerId} не зареєстрований у системі!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/checkReversal/partnr?orderId=p11&reversalSum=221600

out json:

{
    "statusCode": "NO_PARTNERID",
    "statusText": "Партнер partnr не зареєстрований в системі!",
    "orderId": "p11"
}

Примітка: Ввести неіснуючий у системі partner_id, наприклад, partnr замість partner

Приклад №2 statusCode  - NO_ORDERID, statusText - "Не знайдена оригінальна покупка":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/checkReversal/partner?orderId=&reversalSum=221600

out json:

{
    "statusCode": "NO_ORDERID",
    "statusText": "Не знайдена оригінальна покупка",
    "orderId": "p112345"
}

Приклад №3 statusCode  - INVALID_REVERSALSUM, statusText - "Вказана некоректна сума повернення":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/checkReversal/partner?orderId=p11&reversalSum=

out json:

{
    "statusCode": "INVALID_REVERSALSUM",
    "statusText": "Вказана некоректна сума повернення",
    "orderId": "p11"
}

Приклад №4 statusCode  - CHECK_REVERSAL_IS_OK, statusText – 'Повернення по замовленню з номером ${orderId} на суму ${reversalSum} доступне":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/checkReversal/partner?orderId=p11&reversalSum=50000

out json:

{
    "statusCode": "CHECK_REVERSAL_IS_OK",
    "statusText": "Повернення по замовленню з номером p11 на суму 50000 доступне",
    "orderId": "p11"
}

(наверх)

7.7 Повернення товару із замовлення: метод reversalOrder

Метод застосовується для опрацювання повернення товару із замовлення і повернення коштів Клієнту. Застосовується тільки до замовлень, за якими успішно відбулася покупка. Не застосовується до замовлень, які було скасовано.

API: https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/reversalOrder/PARTNER_ID

HTTPS METHOD: POST

Вхідні параметри:

ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)

У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|

ІД запиту на повернення, унікальний у межах Партнера

сума повернення (в копійках)

причина повернення

масив додаткових параметрів повернення

назва товару для повернення

вартість товару для повернення (в копійках)

сума ПДВ товару для повернення (в копійках)

сума ПДВ (у копійках)

код магазина Партнера

URL Партнера для відправки рішення від Банку. Є обов'язковим тільки якщо Партнер працює по callBack (needCallBack = true)

Вихідні параметри:

ІД запиту на повернення, унікальний у межах Банку

ІД запиту на повернення, унікальний у межах Партнера

Код відповіді Банку за запитом повернення

Текст відповіді Банку за запитом повернення

За результатами попередніх перевірок до реєстрації запиту повернення з боку Банку можливі такі варіанти відповідей:

statusCode
statusText
Примітка
NO_PARTNERID
«Партнер ${partnerId} не зарегистрирован в системе!»
• якщо передано неіснуючий partnerId

NO_IDS
«Не передано ідентифікатор замовлення»
• якщо обов'язковий вхідний параметр orderId відсутній у запиті

INVALID_ORDERID
«Вказаний некоректний номер замовлення!»
• якщо в параметрі orderId передано недозволені символи

NO_REVERSALID
«Поле з номером повернення (reversalId) не може бути пустим!»
• якщо параметр reversalId відсутній у запиті
• якщо параметр reversalId присутній, але пустий

INVALID_REVERSALID
«Вказаний некоректний номер на повернення товару!»
• якщо параметр reversalId присутній, але вказали недозволені символи

INVALID_REVERSALSUM
«Вказана некоректна сума повернення»
• якщо параметр reversalSum відсутній у запиті
• якщо параметр reversalSum присутній, але пустий
• якщо в reversalSum вказали недозволені символи

INVALID_CALLBACKURL
«Вказаний некоректний URL»
• якщо для вказаного партнера включена функція обов'язкового URL для callBack, то перевіряється коректність заповнення. Якщо ж needCallBack=false, то заповнення цього параметра ігнорується

MATCH_REVERSALID
«Замовлення з номером ${reversalId} вже існує!»
• якщо в поточному запиті була спроба створити дублікат вже існуючої заявки на повернення

У разі успішного проходження попередніх перевірок та реєстрації запиту на повернення можливі такі варіанти статусів:

statusCode
statusText
Примітка
IN_PROCESSING
«Замовлення в обробці!»
Заявка на повернення успішно зафіксована в системі

Приклад №1 statusCode - NO_REVERSALID, statusText – "Поле з номером повернення (reversalId) не може бути  пустим!":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

 {

    "orderId": "p17",

    "reversalSum": "200008",

    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders"

}

out json:

 {

    "statusCode": "NO_REVERSALID",

    "statusText": "Поле з номером повернення (reversalId) не може бути пустим",

    "messageId": "",

    "reversalId": ""

}

Приклад №2 statusCode - INVALID_REVERSALID, statusText - "Вказаний некоректний номер на повернення товару! ":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

 {

    "reversalId": "!!!!",

    "orderId": "p17",

    "reversalSum": "200008"

}

out json:

 {

    "statusCode": "INVALID_REVERSALID",

    "statusText": "Вказаний некоректний номер на повернення товару",

    "messageId": "",

    "reversalId": "!!!!"

}

Приклад №3 statusCode - INVALID_REVERSALSUM, statusText -" Вказана некоректна сума повернення":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

 {

    "reversalId": "rc17p",

    "orderId": "p17",

    "reversalSum": "@@!!"

}

out json:

 {

    "statusCode": "INVALID_REVERSALSUM",

    "statusText": "Вказана некоректна сума повернення",

    "messageId": "",

    "reversalId": "rc17p"

}

Приклад №4 statusCode - INVALID_CALLBACKURL, statusText - "Вказаний некоректний URL":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

 {

    "reversalId": "rc17p",

    "orderId": "p17",

    "reversalSum": "200008",

    "callBackURL": "784f#$#@#-test.sense.bank.int/api/v1/appData"

}

out json:

{

    "statusCode": "INVALID_CALLBACKURL",

    "statusText": "Вказаний некоректний URL",

    "messageId": "",

    "reversalId": "rc17p"

}

Примітка: зазначити неправильний "callBackURL"

Приклад №5 statusCode - MATCH_REVERSALID, statusText - "Замовлення з номером ${reversalId} вже існує":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

{

    "reversalId": "rc17p",

    "orderId": "p17",

    "reversalSum": "200008",

    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders"

}

out json:

{

    "statusCode": "MATCH_REVERSALID",

    "statusText": "Замовлення з номером rc17p вже існує!",

    "messageId": "15facef7-4d0c-11f0-8386-00505697882c",

    "reversalId": "rc17p"

}

Примітка: хоча метод в цьому випадку повертає messageId, але це все одно messageId неуспішної заявки, яка була одразу закрита із вказаною помилкою, як кінцевим результатом. Щоб знайти першу заявку на реверсал для даної покупки, потрібно скористатись відповідним методом поточного API - getReversal

Приклад №6 statusCode - IN_PROCESSING, statusText - "Замовлення  в обробці! ":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

 {

    "reversalId": "rc17p",

    "orderId": "p17",

    "reversalVat": "30000",

    "reversalSum": "200008",

    "shopId": "000300",

    "reasonReversal": "клієнт відмовився від товару",

    "callBackURL": "https://dpartnapu01.sensebank.com.ua:8243/installmentseventwo/orders",

    "addDataReversal": [

        {

            "name": "фен",

            "sum": 1000099,

            "vat": 166683

        },

        {

            "name": "холодильник",

            "sum": 2000099,

            "vat": 333350

        }

    ]

}

out json:

{

    "statusCode": "IN_PROCESSING",

    "statusText": "Замовлення  в обробці!!",

    "messageId": "a25ce0ae-4d0b-11f0-8386-00505697882c",

    "reversalId": "rc17p"

}

(наверх)

7.7.1 Виклик Партнера з боку Банку на етапі реєстрації повернення

Вхідні параметри:

ІД запиту на повернення, унікальний у межах Партнера

ІД запиту покупки в розстрочку, унікальний у межах Банку

код запиту Банку за запитом

текст запиту Банку за запитом

Варіанти статусів:

statusCode
statusText
Примітка
SYSTEM_ERROR
«Виникла технічна помилка!»

NO_REVERSAL
«Повернення ${reversalId} згідно замовлення з номером ${orderId} не можливо обробити!»

MATCH_REVERSALID
«Замовлення з номером ${reversalId} вже існує!»

CARD_NOT_ACTIVE
«Карта не в статусі \"Активна\"»

NO_ORDERID
«Не знайдена оригінальна покупка»

HAS_REV
«По цій покупці вже була операція відміни чи повернення»

REV_MORE_PURCH
«Сума повернення перевищує суму оригінальної покупки»

REVERSAL_IS_OK
«Повернення ${reversalId} згідно замовлення з номером ${orderId} успішно опрацьовано»

REVERSAL_IS_FAIL
«Повернення не успішне»

Вихідні параметри:

код відповіді Партнера щодо повернення

(наверх)

7.8 Отримання інформації щодо повернення: метод getReversal

Метод застосовується для отримання інформації стосовно повернення.

API:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/ v1.0/getReversal/PARTNER_ID?reversalId= ІД_повернення_партнер

або

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/ v1.0/getReversal/PARTNER_ID?messageId= ІД_повернення_банк

HTTPS METHOD: GET

Вихідні параметри:

ІД запиту повернення, унікальний у межах Банку. Є обов'язковим, якщо відсутній вхідний параметр reversalId

ІД запиту на повернення, унікальний у межах Партнера. Є обов'язковим, якщо відсутній вхідний параметр messageId

код запиту Банку за запитом повернення

текст запиту Банку за запитом повернення

Варіанти статусів:

statusCode
statusText
Примітка
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований у системі!»
• якщо передали неіснуючий partnerId

NO_APP
«Замовлення не знайдено!»
• якщо передали неіснуючий messageId
• якщо передали messageId не пустий, але неіснуючий reversalId

INVALID_REVERSALID
«Вказаний некоректний номер на повернення товару!»
• якщо в параметрі reversalId передано недозволені символи

NO_REVERSAL
«Повернення ${reversalId} згідно замовлення з номером ${orderId} не можливо обробити!»
• Якщо процедура по якимсь причинам не змогла розпарсити JSON
• Якщо не змогли знайти картку, по якій виконували покупку
• Якщо операція покупки була здійснена з неправильним кодом
• Якщо процедура знайшла більше, ніж одну покупку за вхідними параметрами

IN_PROCESSING
«Замовлення в обробці!»

MATCH_REVERSALID
«Замовлення з номером ${reversalId} вже існує!»

NO_IDS
«Не передано ідентифікатор замовлення»
• якщо параметр reversalId відсутній у запиті
• якщо параметр messageId відсутній у запиті

CARD_NOT_ACTIVE
«Карта не в статусі \"Активна\"»

NO_ORDERID
«Не знайдена оригінальна покупка»

HAS_REV
«По цій покупці вже була операція відміни чи повернення»

REV_MORE_PURCH
«Сума повернення перевищує суму оригінальної покупки»

REVERSAL_IS_OK
«Повернення ${reversalId} згідно замовлення з номером ${orderId} опрацьовано успішно»

REVERSAL_IS_FAIL
«Повернення не успішне»

Приклад №1 statusCode - NO_PARTNERID, statusText - ''Партнер ${partnerId} не зареєстрований у системі!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getReversal/partne?reversalId=trg445

out json:

 {

    "statusCode": "NO_PARTNERID",

    "statusText": "Партнер partne не зареєстрований в системі",

    "messageId": "",

    "reversalId": "trg445"

}

Примітка: Ввести неіснуючий в системі  partnerId, наприклад, partne замість partner

Приклад №2 statusCode - NO_APP, statusText - ''Замовлення не знайдено!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getReversal/partner?reversalId=trg445

out json:

 {

    "statusCode": "NO_APP",

    "statusText": "Замовлення не знайдено!",

    "messageId": "",

    "reversalId": "trg445"

}

Примітка: Ввести неіснуючий у системі reversalId

Приклад №3 statusCode - NO_IDS, statusText - ''Не передано ідентифікатор замовлення'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getReversal/partner?reversalId=

out json:

{

    "statusCode": "NO_IDS",

    "statusText": "Не передано ідентифікатор замовлення",

    "messageId": "",

    "reversalId": ""

}

Приклад №4 statusCode - REVERSAL_IS_OK, statusText - ''Повернення ${reversalId} замовлення з номером ${orderId} опрацьовано успішно:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/getReversal/partner?messageId=B8F3737EE36E2C81E0539B5A8F0A34E7

out json:

 {

    "statusCode": "REVERSAL_IS_OK",

    "statusText": "Повернення tgr445 згідно замовлення з номером p17 успішно опрацьовано",

    "messageId": "fba15eba-42d1-11f0-90a0-00505697882c",

    "reversalId": "REV_compareOrder-010a"

}

(наверх)

7.9 Отримання виписки по рахунку/IBAN: метод sendStatementTaskByAccount

Метод застосовується для отримання зовнішнім партнером виписки по рахунку/IBAN.

API:

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/sendStatementTaskByAccount/partner

HTTPS METHOD: POST

Вхідні параметри:

  Логін зовнішнього Партнера для взаємодії з Банком

рахунок Партнера для перерахувань. Може бути у форматі IBAN або 2600%

  дата "з", приклад   2022-06-06

дата "по", пример  2022-06-30

URL для відправки реєстру/звіту (коректний URL сервісу партнера, який має прийняти та обробити відповідь від банку)

Вихідні параметри:

Ідентифікатор реєстра

код помилки

текст відповіді банку на запит

Варіанти статусів:

statusCode
statusText
Примітка
NO_PARTNERID
''Партнер ${partnerId} не зареєстрований в системі!''
 
INVALID_CALLBACKURL
"Вказано некоректний URL"

SYSTEM_ERROR
"Виникла системна помилка!"

NO_DATE
"Відсутня одна з дат фільтра"

NO_ACCOUNT
"Відсутній номер рахунку партнера"

IN_PROCESSING
“Замовлення в обробці!”

Приклад №1 statusCode - NO_PARTNERID, statusText - ''Партнер ${partnerId} не зареєстрований у системі!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/sendStatementTaskByAccount/par

in json:

{
"partnerId":"par",
"account":"UA713003460000026001015531701",
"dateTo":"2022-11-30",
"callBackURL":"https:\/\/partnertrade.com\/ws"
}

out json:

{

    "messageId": "",

    "reversalId": "",

    "statusCode": "NO_PARTNERID",

    "statusText": "Партнер par не зареєстрований у системі"

}

Примітка: Ввести неіснуючий в системі partnerId, наприклад, par

Приклад №2 statusCode - NO_DATE, statusText - ''Відсутня одна з дат фільтра'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/sendStatementTaskByAccount/partner

in json:

{
"partnerId":"partner",
"account":"UA713003460000026001015531701",
"callBackURL":"https:\/\/partnertrade.com\/ws"
}

out json:

{
"messageId": "816c0bf7-a53b-4229-ac4b-7b4787d4a0ae",
"statusCode": "NO_DATE",
"statusText": "Відсутня одна з дат фільтра"
}

Приклад №3 statusCode - - INVALID_CALLBACKURL, statusText – ''Вказано некоректний URL'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/sendStatementTaskByAccount/partner

in json:

{
"partnerId":"partner",
"account":"UA713003460000026001015531701",
"dateTo":"2022-11-30",
"callBackURL":"partner"
}

out json:

{
"messageId": "c5e1de06-c88b-439c-907b-87beb2c888c7",
"statusCode": "INVALID_CALLBACKURL",
"statusText": "Вказано некоректний URL"
}

Приклад №4 statusCode - - IN_PROCESSING , statusText – ''Замовлення в обробці!'':

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/sendStatementTaskByAccount/partner

in json:

{
"partnerId":"partner",
"account":"UA713003460000026001015531701",

"dateFrom":"2022-11-01"
"dateTo":"2022-11-30",
"callBackURL":"partner"
}

out json:

{
"messageId": "c5e1de06-c88b-439c-907b-87beb2c888c7",
"statusCode": " IN_PROCESSING",
"statusText": "Замовлення в обробці!"
}

При успішному виклику метода sendStatementTaskByAccount, партнер отримає виписку в форматі:

out json:

{
"statusCode":"STATEMENT_IS_OK",
"statusText":"Виписка сформована",
"messageId":"messageId",
"accountStatement":[
{
"edrpou":"123345",
"account":"UA546861313",
"partnerId":"partner",
"fullNameClient":"хххх",
"taxId":"123456789",
"operType":"+",
"shopId":"54545",
"orderDate":"2022-11-09 00:00:00",
"orderTerm":"12",
"commission":"0.0",
"orderSum":"36911.0",
"sendSum":"0.0",
"commissionSum":"0.0"
}]
}

(наверх)

7.10 Варіанти поведінки Партнера у випадку виникнення окремих статусів на методах реєстрації замовлення, скасування, повернення

statusCode, statusText
Причина, подальші дії
Час очікування подальших дій Після закінчення зазначеного часу очікування з боку Банку замовлення автоматично закривається
На виклику метода реєстрації замовлення (createOrder)
 
MATCH_ORDERID
«Замовлення з номером ${orderId} вже існує!»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з номером, який вже надіслав раніше
Виконати виклик методу реєстрації нового замовлення (createOrder) з новим номером ${orderId}
Не обмежено
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований у системі!»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з зазначенням partnerId, не зареєстрованим в Банку
Перевірити налаштування, після чого виконати виклик методу реєстрації нового замовлення (createOrder) із зазначенням коректного partnerId
Не обмежено
INVALID_ORDERID
«Указано некоректний номер замовлення!»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з неприпустимими символами в номері замовлення
Виконати виклик методу реєстрації нового замовлення (createOrder) з новим номером ${orderId} з допустимимиi символами в номері замовлення
Не обмежено
INVALID_MPHONE
«Указано некоректний номер телефону»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з неприпустимим форматом номера телефону
Виконати виклик методу реєстрації нового замовлення (createOrder) з номером телефону в форматі +38OOONNNNNNN
(де OOO – код оператора мобільного зв’язку, NNNNNNN – номер телефону Клієнта)
Не обмежено
INVALID_PANEND
«Указано некоректний номер картки»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з неприпустимим форматом номера картки
Виконати виклик методу реєстрації нового замовлення (createOrder) з номером картки в форматі XXXX, де XXXX – тільки цифри, 4 знаки
Не обмежено
INVALID_ORDERSUM
«Указано некоректну суму розстрочки»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з неприпустимим форматом суми
Виконати виклик методу реєстрації нового замовлення (createOrder) із зазначенням суми в допустимому форматі (тільки цифри)
Не обмежено
INVALID_ORDERTERM
«Указано некоректний строк розстрочки»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з неприпустимим форматом строку
Виконати виклик методу реєстрації нового замовлення (createOrder) із зазначенням строку в допустимомуi форматі
Не обмежено
INVALID_CALLBACKURL
«Указано некоректний URL»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з неприпустимим форматом посилання
Виконати виклик методу реєстрації нового замовлення (createOrder) із зазначенням посилання в допустимому форматі
Не обмежено
ORDERSUM_EXCEEDS
«Сума розстрочки перевищує допустиме значення в${maxOrder} UAH»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з зазначенням суми, що перевищує допустиме значення за продуктом розстрочки
Виконати виклик методу реєстрації нового замовлення (createOrder) із зазначенням суми, що не перевищує допустиме значення
Не обмежено
ORDERSUM_LOW
«Сума розстрочки нижче допустимого значення в ${minOrder} UAH»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення із зазначенням суми, нижче допустимого значення за продуктом розстрочки
Виконати виклик методу реєстрації нового замовлення (createOrder) із зазначенням суми не нижче допустимого значення
Не обмежено
NO_CONTRAGENT_MPHONE
«Клієнта з номером телефону ${contInf2Cellur} не знайдено»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення із зазначенням номера телефону, за яким в Банку не знайдено Клієнта
Рекомендувати Клієнту уточнити номер телефону, після чого виконати виклик методу скасування і створити нову заявку.
2 години
NO_CARD_PANEND
«Картку за номером ${card4Last} не знайдено»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового замовлення з зазначенням номера картки, що не належить Клієнту
Рекомендувати Клієнту уточнити
а) номер картки
б) номер телефону та номер картки,
після чого виконати виклик методу скасування і створити нову заявку.
2 години
LOW_BALANCE
«Недостатній баланс на картці»
Виникає в разі, коли на рахунку картки Клієнта недостатньо коштів для оформлення розстрочки
Рекомендувати Клієнту
а) змінити суму/строк розстрочки замовлення
(при цьому змінити і пов’язані параметри – опис товару, ПДВ, якщо вони передані у замовленні)
б) змінити номер картки
в) поповнити рахунок картки, за якою оформлюється розстрочка,
після чого виконати виклик методу скасування і створити нову заявку.
2 години
NO_PRODUCT
«Не знайдено продукт розстрочки»
Виникає в разі, коли щодо замовлення передано термін розстрочки, не передбачений Банком
Переконатися в коректності зазначення строку розстрочки, після чого виконати виклик методу скасування і створити нову заявку.
2 години
PURCHASE_IS_FAIL
«Покупка неуспішна! Замовлення не оформлено!»
Виникає в разі, коли щодо замовлення неуспішно виконано списання коштів (купівля) з рахунку Клієнта Банку (наприклад, на рахунку Клієнта недостатньо коштів)
Рекомендувати Клієнту переконатися у коректності зазначення номера картки і наявності на ній доступної суми, після чого виконати виклик методу реєстрації нового замовлення (createOrder)
Не обмежено
INST_ALLOWED_OK
«За карткою ${card4Last} можлива розстрочка, відбувається перевірка»
Виникає в разі, коли Банк успішно виконав перевірку номера картки на відповідність критеріям продукту розстрочки
Подальші дії непотрібні
INST_ALLOWED_FAIL
«За карткою ${card4Last} неможливо оформити розстрочку»
Виникає в разі, коли банк НЕуспішно виконав перевірку номера картки на відповідність критеріям продукту розстрочки
Рекомендувати Клієнту переконатися в коректності зазначення номера картки та наявності на ній доступної суми, після чого виконати виклик методу реєстрації нового замовлення (createOrder)
Не обмежено
SYSTEM_ERROR        
«Виникла системна помилка!»
Виникає в разі, коли з боку Банку виникла системна помилка під час перевірки параметрів для оформлення замовлення
У випадку виникнення помилки рекомендується виконати виклик методу реєстрації нового замовлення (createOrder)
Не обмежено
IN_PROCESSING
«Замовлення в обробці!»
Виникає в разі, коли щодо замовлення успішно виконано попередні перевірки, замовлення знаходиться в процесі подальших перевірок
Подальші дії непотрібні
PURCHASE_IS_OK
«Покупка успішна, відправлено Гарантійний лист»
Виникає в разі, коли щодо замовлення успішно виконано списання коштів (покупка) з рахунку Клієнта Банку
Подальші дії непотрібні
На виклику методу реєстрації замовлення (reversalOrder) і скасування (cancelOrder)
INVALID_ORDERID
«Не передано ідентифікатор замовлення»
Виникає в разі, коли Партнер виконав виклик методу реєстрації повернення/скасування з порожнім значенням або неприпустимим форматом ідентифікатора замовлення (orderId), за яким виконується повернення
Виконати виклик методу реєстрації нового повернення (reversalOrder) із зазначенням ідентифікатора замовлення, за яким виконується повернення
Не обмежено
INVALID_CANCELID
«Указано некоректний номер скасування!»
Виникає в разі, коли Партнер виконав виклик методу реєстрації скасування замовлення з порожнім значенням або неприпустимим форматом ідентифікатора повернення (cancellId)
Виконати виклик методу скасування замовлення (cancelOrder) із зазначенням номера в допустимому форматі
Не обмежено
NO_APP
«Замовлення не знайдено!»
Виникає під час виклику методу реєстрації повернення/скасування в разі, коли не знайдено замовлення (orderId)
Змінити значення параметра, після чого повторити виклик методу скасування замовлення (cancelOrder) або повернення (reversalOrder) замовлення
Не обмежено
NO_IDS
«Не передано ідентифікатор замовлення»
Виникає під час виклику методу реєстрації повернення/скасування в разі, коли не передано ідентифікатор замовлення (orderId або messageId)
Заповнити значення параметра, після чого повторити виклик методу скасування замовлення (cancelOrder) або повернення (reversalOrder) замовлення
Не обмежено
INVALID_REVERSALID
«Указано некоректний номер на повернення товару!»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового повернення з порожнім значенням або неприпустимим форматом ідентифікатора повернення reversalId
Виконати виклик методу реєстрації нового повернення (reversalOrder) із зазначенням номера в допустимому форматі
Не обмежено
INVALID_REVERSALSUM
«Указано некоректну суму повернення»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового повернення з неприпустимим форматом суми
Виконати виклик методу реєстрації нового повернення (reversalOrder) із зазначенням суми в допустимому форматі (тільки цифри)
Не обмежено
INVALID_CALLBACKURL
«Указано некоректний URL»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового повернення з неприпустимим форматом посилання
Виконати виклик методу реєстрації нового повернення (reversalOrder) із зазначенням посилання у допустимому форматі
Не обмежено
NO_REVERSAL
«Повернення ${reversalId} замовлення з номером ${orderId} не можна обробити!»
Виникає в разі, коли повернення з боку Банку неможливо обробити
Подальші дії непотрібні
MATCH_REVERSALID
«Повернення з номером ${reversalId} уже існує!»
Виникає в разі, коли Партнер виконав виклик методу реєстрації нового повернення з неунікальним ідентифікатором
Виконати виклик методу реєстрації нового повернення (reversalOrder) із зазначенням унікального ідентифікатора повернення
Не обмежено
CANCEL_AFTER_OK
«Скасування замовлення неможливе! Скористайтесь операцією повернення»
Виникає в разі обробки запиту від Партнера на скасування замовлення (cancelOrder), за яким завершено оформлення розстрочки
Виконати виклик методу реєстрації повернення (reversalOrder)

CARD_BLOCKED
«Повернення неможливе! Картку заблоковано!»
Виникає в разі, коли повернення неможливо обробити через блокування картки
Подальші дії непотрібні
CARD_NOT_ACTIVE
«Повернення неможливе! Картка неактивна!»
Виникає в разі, коли повернення неможливо обробити через неактивність картки
Подальші дії непотрібні
NO_ORDERID
«Замовлення з номером ${orderId} не знайдено! Повернення неможливе!»
Виникає в разі, коли в Банку не знайдено ідентифікатор замовлення, за яким виконується повернення
Перевірити коректність зазначення ідентифікатора замовлення, за яким виконується повернення, після чого виконати виклик методу реєстрації нового повернення (reversalOrder)
Не обмежено
HAS_REV
«Щодо замовлення з номером ${orderId} уже є повернення або скасування!»
Виникає в разі, коли повернення неможливо обробити через наявність скасування або повернення замовлення
Перевірити коректність зазначення параметрів повернення, після чого виконати виклик методу реєстрації нового повернення (reversalOrder)
Не обмежено
REV_MORE_PURCH
«Сума повернення ${reversalId} перевищує суму оригінальної покупки ${orderId}»
Виникає в разі, коли повернення неможливо обробити (сума повернень перевищує суму замовлення)
Перевірити коректність зазначення параметрів повернення, після чого виконати виклик методу реєстрації нового повернення (reversalOrder)
Не обмежено
REVERSAL_IS_OK
«Повернення ${reversalId} замовлення з номером ${orderId} оброблено успішно»
Виникає в разі, коли щодо замовлення успішно виконано повернення і авторизація зарахування коштів на рахунок Клієнта Банку
Подальші дії непотрібні
FINAL_CANCEL_OK
«Обробка скасування замовлення ${orderId} успішна»
Виникає в разі, коли щодо замовлення успішно виконано скасування та авторизація зарахування коштів на рахунок Клієнта Банку
Подальші дії непотрібні
На виклику методу підтвердження замовлення (confirmOrder)
REQUEST_NOT_MATCH
«Запит не можна обробити! Перевірте статус замовлення!»
Виникає в разі, коли Партнер виконав виклик методу підтвердження замовлення, підтвердження якого недоступно або неактуально
Виконати виклик методу запиту параметрів замовлення (getOrder) і за поточним статусом замовлення визначити подальші дії

CLIENT_NO_SEND_SMS
Виникає в разі, коли не було отримано підтвердження від клієнта і заявка перейшла на фінальний крок з timeout.

На виклику метода getOrder (на тестовому сервері не відтворюється)
CHECK_SMS_ERROR
У разі відправки клієнтом неправильного коду в SMS

PRE_PURCHASE_IS_OK
Покупка успішна, відправлено Гарантійний лист!

(наверх)

7.11 Перевірка можливості розстрочки: метод prescoring/PARTNER_ID

API: https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/PARTNER_ID

HTTPS METHOD: POST

Вхідні параметри:

Ідентифікатор зовнішнього Партнера для взаємодії з Банком

Номер телефону клієнта у форматі +380ХХХХХХХХХ

Сума розстрочки в копійках

Вихідні параметри:

Ознака можливості оформлення розстрочки: true/false

Варіанти статусів:

statusCode
statusText
Примітка
AVAILABLE_FOR_ORDER
"Доступно для формування замовлення"
 
NO_PARTNERID
"Партнер ${partnerId} не зареєстрований у системі!"
• Не вказано партнера
INVALID_MPHONE
"Вказано неправильний номер телефону"
• Не вказано номер телефону
INVALID_ORDERSUM
"Вказано некоректну суму розстрочки"
• Не вказано суму розстрочки
NO_CONTRAGENT_MPHONE
"Клієнта з номером телефону ${contInf2Cellur} не знайдено"

NO_CARD_PANEND
"Карту/картки не знайдено"

CARD_INVALID_OR_BLOCKED
"Кредитна картка/картки закрита/заблокована"

ORDERSUM_LOW
"Сума розстрочки нижче за допустиме значення в ${minOrderSum} UAH"

ORDERSUM_EXCEEDS
"Сума розстрочки перевищує допустиме значення ${maxOrderSum} UAH"

LOW_BALANCE
"Недостатній баланс на карті"

SYSTEM_ERROR
"Виникла системна помилка!"

Приклад №1 statusCode - NO_PARTNERID, statusText - "Партнер ${partnerId} не зареєстрований у системі!":

API: https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/all

in json:

{
  "partnerID": "all",
  "mPhone": "+380931112234",
  "orderSum": 50000
}

out json:

{
  "available": false,
  "statusCode": "NO_PARTNERID",
  "statusText": "Партнер all не зареєстрований у системі"
}
Примітка: Ввести неіснуючий у системі partnerID, наприклад, all замість PARTNER.

Приклад №2 statusCode - INVALID_ORDERSUM, statusText - "Вказано некоректну суму розстрочки": 

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/PARTNER

in json:

{
  "partnerID": "PARTNER",
  "mPhone": "+380931112236",
  "orderSum": 0
}

out json:

{
  "available": false,
  "statusCode": "INVALID_ORDERSUM",
  "statusText": "Вказано некоректну суму розстрочки"
}

Приклад №3 statusCode - NO_CONTRAGENT_MPHONE, statusText - "Клієнта з номером телефону не знайдено":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/PARTNER

in json:

{
  "partnerID": "PARTNER",
  "mPhone": "+380931112237",
  "orderSum": 15000
}

out json:

{
  "available": false,
  "statusCode": "NO_CONTRAGENT_MPHONE",
  "statusText": "Клієнта з номером телефону +380931112237 не знайдено"
}

Приклад №4 statusCode - AVAILABLE_FOR_ORDER, statusText -"Доступно для формування замовлення":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/PARTNER

in json:

{
  "partnerID": "PARTNER",
  "mPhone": "+380931112233",
  "orderSum": 50000
}

out json:

{
  "available": true,
  "statusCode": "AVAILABLE_FOR_ORDER",
  "statusText": ''Доступно для формування замовлення''
}

Примітка: Передано валідний partnerID, номер телефону зареєстрований, активна кредитна картка дозволяє оформлення розстрочки, а сума відповідає встановленим лімітам.

Приклад №5 statusCode - INVALID_MPHONE, statusText -"Вказано неправильний номер телефону":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/PARTNER

in json:

{
  "partnerID": "PARTNER",
  "mPhone": "+380931112235",
  "orderSum": 50000
}

out json:

{
  "available": false,
  "statusCode": "INVALID_MPHONE",
  "statusText": "Вказано неправильний номер телефону"
}

Приклад №6 statusCode - NO_CARD_PANEND, statusText -"Картку/картки не знайдено":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/PARTNER

in json:

{
  "partnerID": "PARTNER",
  "mPhone": "+380931112238",
  "orderSum": 50000
}

out json:

{
  "available": false,
  "statusCode": "NO_CARD_PANEND",
  "statusText": "Картку/картки не знайдено"
}

Приклад №7 statusCode - CARD_INVALID_OR_BLOCKED, statusText -"Кредитна картка/картки закрита/заблокована":

https://mw-api-test.sensebank.kyiv.ua/proc-loan-sandbox/api/PartnerInstallment/v1.0/prescoring/PARTNER

in json:

{
  "partnerID": "PARTNER",
  "mPhone": "+380931112239",
  "orderSum": 50000
}

out json:

{
  "available": false,
  "statusCode": "CARD_INVALID_OR_BLOCKED",
  "statusText": "Кредитна картка/картки закрита/заблокована"
}

(наверх)