2. Партнерський інстолмент/ Partnership Installment
5. Опис API
7.1. Pеєстрація замовлення: метод createOrder
7.1.1. Виклик Партнера з боку Банку на етапі реєстрації замовлення
7.1.2. Виклик Партнера з боку Банку для передачі параметрів для формування Гарантійного листа
7.1.3. Виклик Партнера з боку Банку для передачі Гарантійного листа в форматі BASE64
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.11. Перевірка можливості розстрочки: метод prescoring/PARTNER_ID
Термін |
Опис |
Installment | Бізнес-сервіс продажу Клієнтам послуги розстрочки під час купівлі товарів за кредитними картками
|
Банк
|
АТ «Сенс-Банк»
|
Партнер
|
Торговельна мережа з магазинами, в яких Клієнт Банку здійснює покупку в розстрочку
|
Клієнт
|
Клієнт Банку, у якого в Банку відкрито рахунок кредитної картки, на якому за авторизаціями покупок оформлюється розстрочка (в разі виконання умов продукту розстрочки)
|
Замовлення (на оформлення покупки у розстрочку)
|
Подія в магазині Партнера, коли покупка оформлюється, і відбувається авторизація
|
Гарантійний лист
|
Лист від Банку на адресу Партнера, відправлений будь-яким із доступних каналів, що гарантує перерахування відшкодування на рахунок Партнера суми операції купівлі Клієнта в магазині Партнера (за мінусом комісії Банку)
|
Installment — бізнес-сервіс продажу Клієнтам послуги розстрочки за умови здійснення покупки за кредитними картками. Партнерський інстолмент — процес, що дозволяє при оформленні Клієнтом розстрочки на покупку в магазині Партнера розподілити суму покупки, списану за кредитною карткою, рівними платежами для погашення на кількість місяців, вибрану Клієнтом. Вибір кількості місяців розстрочки відбувається на боці Партнера за погодженням із Клієнтом. Комісія Клієнта за такої розстрочки відсутня.
Зазначена нижче інформація призначена для надання відомостей Партнеру щодо технічної реалізації, і описує варіанти передачі даних між Банком та Партнером у межах програми «Партнерський інстолмент».
Сервер Банку надає програмний інтерфейс для передачі та прийому даних зашифрованим протоколом. Відправлення та отримання даних між Банком та Партнером відбувається в автоматичному режимі. Взаємодію засновано на використанні протоколу TLS 1.2 з серверними сертифікатами, що забезпечує автоматичне шифрування даних під час передачі. Прикладні дані передаються із застосуванням протоколу HTTPS у вигляді JSON-повідомлень із застосуванням базової авторизації з використанням логіна та пароля.
Банк за допомогою API приймає та відправляє дані HTTPS-протоколом шляхом REST-запитів. У тілі запиту передається JSON у кодуванні UTF-8:
де
retailapi.sensebank.com.ua:8243 — хост, на якому розміщено сервіс;
SERVICE_METHOD — метод API;
PARTNER_ID — унікальний ідентифікатор, присвоєний Банком для ідентифікації Партнера.
Для тестового середовища PARTNER_ID=partner
Наприклад:
Вимоги до заголовків запитів:
Authorization: Basic login: password,
де
login: partner
password: !PaRt_Ne09_R#
API надає такі методи (SERVICE_METHOD) для оформлення розстрочки:
Перед початком тестування Партнеру необхідно заповнити та передати в Банк документ з параметрами – "Заявка_ПІ_прод", шаблон документа надасть менеджер Банку.
Партнер на початковому етапі, на старті перед тестуванням з Банком, визначає, яким чином буде працювати з Банком у межах програми «Партнерський інстолмент».
Якщо Партнер планує працювати, викликаючи Банк, то послідовність така:
У разі виклику createOrder необхідно отримати статус IN_PROCESSING – це означає, що заявка прийнята Банком, у роботі.
Далі виклик методу getOrder, де потрібно отримати статус PURCHASE_IS_OK.
Якщо було отримано негативну відповідь – потрібно відмінити поточну заявку методом cancelOrder і творити новий зпит createOrder.
У разі позитивної відповіді необхідно викликати метод getGuarantee.
Після Банк очікує від Партнера виклику методу або confirmOrder.
Якщо Партнер визначив, що працюватиме за допомогою callBack від Банку, то у разі виклику createOrder необхідно вказати коректний callBackURL – URL для надсилання рішення (коректний URL сервісу Партнера, який повинен прийняти та обробити відповідь від Банку).
Формат callBack: авторизацію використовувати Basic з передачею логіна і пароля в base64. Якщо за callBack Партнер отримує статус PURCHASE_IS_OK – це і є автоматичне підтвердження замовлення.
Нижче в описі пункти «Виклик Партнера з боку Банку» = опис callBack.
Метод застосовується для реєстрації нового замовлення. Під час прийому набору параметрів виконуються первинні перевірки.
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"
}
Партнер на початковому етапі узгодження налаштувань з Банком визначає для себе, яким чином він бажає виконувати покупки/списання з клієнтського рахунку.
Можливі 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
|
|
«Клієнт не підтвердив розстрочку замовлення»
|
Замовлення створено, клієнт не підтвердив розстрочку замовлення
|
Вхідні параметри:
ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)
У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|
ІД замовлення покупки в розстрочку, унікальний у межах Банку
набір параметрів (в форматі json) для формування Гарантійного листа
код запиту Банку
текст запиту Банку
Вихідні параметри:
код відповіді Партнера
Вхідні параметри:
ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)
У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів
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",
}
Вхідні параметри:
ІД замовлення покупки в розстрочку, унікальний у межах Партнера (може містити цифри, букви, символи)
У параметрі з ІД замовлення або повернення дозволено використання символів латиниці, кирилиці, цифр та спецсимволів
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯЇІЄҐ абвгдежзиклмнопрстуфхцчшщэюяїієґ 0123456789-_ /|
ІД замовлення покупки в розстрочку, унікальний у межах Банку
набір параметрів замовлення (в форматі json)
код запиту Банку
текст запиту Банку
Вихідні параметри:
код відповіді Партнера
Метод застосовується для отримання інформації щодо замовлення.
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} не зареєстрований у системі!'':
Запит:
out json
{
"messageId": "",
"orderId": "p12",
"statusCode": "NO_PARTNERID",
"statusText": "Партнер partnr не зареєстрований у системі!"
}
Примітка: Ввести відсутній у системі partner_id, наприклад, partnr замість partner.
Приклад №2 statusCode - NO_APP, statusText - ''Замовлення не знайдено!'':
Запит:
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"
}
Метод застосовується для отримання Гарантійного листа. Може використовуватися в разі, коли під час відправки Гарантійного листа виникла помилка.
Працює тільки для замовлень, за якими успішно відбулася купівля.
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"
Метод застосовується для скасування замовлення за ініціативи Партнера.
Партнер за допомогою методу 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.
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"
}
Вхідні параметри:
ІД замовлення, що скасовується, унікальний у межах Партнера
ІД замовлення повернення, унікальний у межах Банку
код запиту Банку з опрацювання запиту скасування замовлення
текст запиту Банку з опрацювання запиту скасування замовлення
Варіанти статусів за callBack:
statusCode
|
statusText
|
Примітки
|
CANCEL_IS_FAIL
|
«Відміна замовлення неуспішна»
|
|
FINAL_CANCEL_OK
|
«Відміна замовлення ${orderId} опрацьована успішно»
|
|
Метод застосовується для підтвердження замовлення з боку Партнера. Використовується в окремих випадках для очікування підтвердження або скасування замовлення протягом певного часу (максимально — до кінця поточного дня). За замовчуванням відповіді від Партнера замовлення вважається узгодженим.
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} підтверджено!'':
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 - "Запит не можна опрацювати! Перевірте статус замовлення!"':
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" ).
Метод застосовується для перевірки можливості здійснення повернення товару із замовлення. Застосовується тільки до замовлень, за якими успішно відбулася покупка. Не застосовується до замовлень, які було скасовано. У запиті передається ідентифікатор замовлення (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} не зареєстрований у системі!'':
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"
}
Метод застосовується для опрацювання повернення товару із замовлення і повернення коштів Клієнту. Застосовується тільки до замовлень, за якими успішно відбулася покупка. Не застосовується до замовлень, які було скасовано.
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 - "Вказаний некоректний номер на повернення товару! ":
in json:
{
"reversalId": "!!!!",
"orderId": "p17",
"reversalSum": "200008"
}
out json:
{
"statusCode": "INVALID_REVERSALID",
"statusText": "Вказаний некоректний номер на повернення товару",
"messageId": "",
"reversalId": "!!!!"
}
Приклад №3 statusCode - INVALID_REVERSALSUM, statusText -" Вказана некоректна сума повернення":
in json:
{
"reversalId": "rc17p",
"orderId": "p17",
"reversalSum": "@@!!"
}
out json:
{
"statusCode": "INVALID_REVERSALSUM",
"statusText": "Вказана некоректна сума повернення",
"messageId": "",
"reversalId": "rc17p"
}
Приклад №4 statusCode - INVALID_CALLBACKURL, statusText - "Вказаний некоректний URL":
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} вже існує":
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 - "Замовлення в обробці! ":
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"
}
Вхідні параметри:
ІД запиту на повернення, унікальний у межах Партнера
ІД запиту покупки в розстрочку, унікальний у межах Банку
код запиту Банку за запитом
текст запиту Банку за запитом
Варіанти статусів:
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
|
«Повернення не успішне»
|
|
Вихідні параметри:
код відповіді Партнера щодо повернення
Метод застосовується для отримання інформації стосовно повернення.
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 - ''Не передано ідентифікатор замовлення'':
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"
}
Метод застосовується для отримання зовнішнім партнером виписки по рахунку/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} не зареєстрований у системі!'':
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 - ''Відсутня одна з дат фільтра'':
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"
}]
}
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
|
Покупка успішна, відправлено Гарантійний лист!
|
|
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 - "Вказано некоректну суму розстрочки":
in json:
{
"partnerID": "PARTNER",
"mPhone": "+380931112236",
"orderSum": 0
}
out json:
{
"available": false,
"statusCode": "INVALID_ORDERSUM",
"statusText": "Вказано некоректну суму розстрочки"
}
Приклад №3 statusCode - NO_CONTRAGENT_MPHONE, statusText - "Клієнта з номером телефону не знайдено":
in json:
{
"partnerID": "PARTNER",
"mPhone": "+380931112237",
"orderSum": 15000
}
out json:
{
"available": false,
"statusCode": "NO_CONTRAGENT_MPHONE",
"statusText": "Клієнта з номером телефону +380931112237 не знайдено"
}
Приклад №4 statusCode - AVAILABLE_FOR_ORDER, statusText -"Доступно для формування замовлення":
in json:
{
"partnerID": "PARTNER",
"mPhone": "+380931112233",
"orderSum": 50000
}
out json:
{
"available": true,
"statusCode": "AVAILABLE_FOR_ORDER",
"statusText": ''Доступно для формування замовлення''
}
Примітка: Передано валідний partnerID, номер телефону зареєстрований, активна кредитна картка дозволяє оформлення розстрочки, а сума відповідає встановленим лімітам.
Приклад №5 statusCode - INVALID_MPHONE, statusText -"Вказано неправильний номер телефону":
in json:
{
"partnerID": "PARTNER",
"mPhone": "+380931112235",
"orderSum": 50000
}
out json:
{
"available": false,
"statusCode": "INVALID_MPHONE",
"statusText": "Вказано неправильний номер телефону"
}
Приклад №6 statusCode - NO_CARD_PANEND, statusText -"Картку/картки не знайдено":
in json:
{
"partnerID": "PARTNER",
"mPhone": "+380931112238",
"orderSum": 50000
}
out json:
{
"available": false,
"statusCode": "NO_CARD_PANEND",
"statusText": "Картку/картки не знайдено"
}
Приклад №7 statusCode - CARD_INVALID_OR_BLOCKED, statusText -"Кредитна картка/картки закрита/заблокована":
in json:
{
"partnerID": "PARTNER",
"mPhone": "+380931112239",
"orderSum": 50000
}
out json:
{
"available": false,
"statusCode": "CARD_INVALID_OR_BLOCKED",
"statusText": "Кредитна картка/картки закрита/заблокована"
}