Підключайтесь! Всі подробиці в нашому Telegram-чаті



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

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. Варіанти поведінки Партнера у випадку виникнення окремих статусів на методах реєстрації замовлення, скасування, повернення


1. Глосарій

Термін

Опис

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

(к оглавлению)

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

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

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

(к оглавлению)

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

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

(к оглавлению)

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

(к оглавлению)

5. Опис API

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/SERVICE_METHOD/PARTNER_ID

де

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

            SERVICE_METHOD - метод API;

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

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

Наприклад:

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

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

- у заголовку POST запиту має бути прописано тип: ContentType: application/json;

- авторизація має бути Basic Auth і передаватися як:

Authorization: Basic login: password,

де

login: partner

password: !PaRt_Ne09_R#

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

createOrder – реєстрація замовлення (method POST);

getOrder - отримання інформації щодо замовлення (method GET);

getGuarantee – отримання Гарантійного листа для замовлення (method GET);

cancelOrder - скасування замовлення (за ініціативою Партнера) (method POST);

confirmOrder – підтвердження замовлення (за ініціативою Партнера) (method POST);

reversalOrder – повернення товару із замовлення (method POST);

checkReversal – перевірка можливості здійснення повернення товару із замовлення (method GET);

getReversal – отримання інформації щодо повернення (method GET).

sendStatementTaskByAccount – метод отримання виписки по рахунку/IBAN(method POST).

(к оглавлению)

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

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

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

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

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

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

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

(к оглавлению)

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

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

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

API: https://retailapi.sensebank.com.ua:8243/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.com.ua\/v1\/alfa_postback\/"}' https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

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

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

4 останні цифри номера картки Клієнта, за якою буде оформлено розстрочку

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

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

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

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

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

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

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

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

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

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

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

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

якщо партнеру не потрібно отримувати на e-mail інформацію, то можна вказати фейкову константу, дотримуючись формату e-mail

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

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

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

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

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

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

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

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

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

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

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

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

INVALID_PANEND
«Указано некоректний номер картки»

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

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

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

ORDERSUM_EXCEEDS
«Сума розстрочки перевищує допустиме значення в ${maxOrder} UAH»
Значення ${maxOrder}" відображувати у грн
ORDERSUM_LOW
«Сума розстрочки нижче допустимого значення в ${minOrder} UAH»
Значення ${minOrder}" відображувати в грн
PAC_NOT_SUCCESS
«Транзакція Pre-authorization має неуспішний код завершення»

PAC_IS_REVERSED
«Транзакцію Pre-authorization скасовано»

PAC_DUP_COMPL
«Транзакція Pre-authorization має транзакцію завершення»

PAC_DAY_LMT_EXC
«Часовий інтервал між транзакціями предавторизації та завершення перевищує встановлену величину»

PAC_AMOUNT_EXT
«Сума транзакції завершення перевищує суму транзакції предавторизації більше, ніж на встановлену в процентах величину»

PAC_ERROR
«Помилка під час обробки правил транзакції предавторизації та завершення»

PAC_NOT_FOUND
«Для транзакції завершення не знайдено оригінальну транзакцію предавторизації»

INVALID_EMAIL
«Вказано некоректний email»
Якщо Партнерові не потрібно отримувати на email інформацію, то можна вказати фейкову константу, дотримуючись формату eMail

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

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

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

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

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partn

in json:

{

"mPhone": "+380967896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p17",

"orderSum": "121600",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "NO_PARTNERID",

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

    "messageId": "null",

    "orderId": "null"

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380967896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p17",

"orderSum": "121600",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "MATCH_ORDERID",

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

    "messageId": "null",

    "orderId": "null"

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380967896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "",

"orderSum": "121600",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "INVALID_ORDERID",

    "statusText": "Указано некоректний номер замовлення!",

    "messageId": "null",

    "orderId": "null"

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "096796608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p19",

"orderSum": "121600",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "INVALID_MPHONE",

    "statusText": "Указано некоректний номер телефону",

    "messageId": "null",

    "orderId": "null"

}

Приклад №5 statusCode - INVALID_PANEND, statusText - "Указано некоректний номер картки":

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380667896608",

"panEnd": "965",

"shopId": "46546-БwfqК",

"orderId": "p15",

"orderSum": "121600",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "INVALID_PANEND",

    "statusText": "Указано некоректний номер картки",

    "messageId": "null",

    "orderId": "null"

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380667896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p15",

"orderSum": "1216.00",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "INVALID_ORDERSUM",

    "statusText": "Указано некоректну суму розстрочки",

    "messageId": "null",

    "orderId": "null"

}

Приклад №7 statusCode - INVALID_ORDERTERM, statusText - "Указано некоректний строк розстрочки":

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380667896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p15",

"orderSum": "121600",

"orderTerm": "48",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "INVALID_ORDERTERM",

    "statusText": "Указано некоректний строк розстрочки",

    "messageId": "null",

    "orderId": "null"

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380667896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p15",

"orderSum": "121600",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

"callBackURL": ""

}

out json:

{

    "statusCode": "INVALID_CALLBACKURL",

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

    "messageId": "null",

    "orderId": "null"

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380667896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p15",

"orderSum": "100000000",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "ORDERSUM_EXCEEDS",

    "statusText": "Сума розстрочки перевищує допустиме значення в 200000 UAH",

    "messageId": "null",

    "orderId": "null"

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380667896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p15",

"orderSum": "1",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "ORDERSUM_LOW",

    "statusText": "Сума розстрочки нижче допустимого значення в 500 UAH",

    "messageId": "null",

    "orderId": "null"

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/createOrder/partner

in json:

{

"mPhone": "+380967896608",

"panEnd": "9654",

"shopId": "46546-БwfqК",

"orderId": "p18",

"orderSum": "121600",

"orderTerm": "9",

"eMailPartner":"test@mytestemail.com",

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

}

out json:

{

    "statusCode": "IN_PROCESSING",

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

    "messageId": "B8F3737EDF292C81E0539B5A8F0A34E7",

    "orderId": "p18"

}

(к оглавлению)

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

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

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

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

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

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

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

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

код статусу обробки запиту Банку

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

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

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

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

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

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

SYSTEM_ERROR

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

(к оглавлению)

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

Входящие параметры:

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

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

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

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

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

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

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

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

(к оглавлению)

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

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

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

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

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

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

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

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

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

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

(к оглавлению)

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

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

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

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

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

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

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

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

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

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

(к оглавлению)

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

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

API: https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getOrder/PARTNER_ID?orderId= ИД_замовлення_партнер

або

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getOrder/PARTNER_ID?messageId= ИД_замовлення_банк

HTTPS METHOD: GET

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

curl -k --header "Authorization: Basic dGVzdHVzZXI6dGVzdHVzZXI=" --request GET https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getOrder/partner?orderId=BF21174E7DAA4DE6E0539B5A8F0A565E

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

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

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

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

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

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

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

4 останні цифри номера картки клієнта, за якою буде оформлено розстрочку

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

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

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

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

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

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

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

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

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

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

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

NO_CARD_PANEND
«Картку за номером $ {card4Last} не знайдено»

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

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

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

CHECK_SMS_ERROR
«Неправильний код SMS!»
Статус означає, що надіслано некоректний код SMS
PURCHASE_IS_FAIL
«Покупка неуспішна! Замовлення не оформлено!»

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

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

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

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

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

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

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

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

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

statusCode
statusText
Примітка
INST_ALLOWED_OK
«За карткою ${card4Last} можлива розстрочка, триває перевірка»
Проміжний статус у getOreder. Означає, що перевірки пройдено і Клієнту надіслано SMS
CHECK_SMS_OK
«Перевірка коду SMS успішна!»

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

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

Запит:

https://retailapi.sensebank.com.ua:8243/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://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getOrder/partner?orderId=p22

out json

{

    "messageId": "B6B920264F4E07AEE053AC112B083360",

    "orderId": "",

    "statusCode": "NO_APP",

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

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getOrder/partner?orderId=p11

out json:

{

    "orderAdd": "",

    "orderId": "p12",

    "messageId": "B8F3737ECEC02C81E0539B5A8F0A34E7",

    "orderVat": "",

    "orderSum": "121600",

    "orderNom": [],

    "orderTerm": "3",

    "panEnd": "9654",

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

    "mPhone": "+380977896608",

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

    "statusCode": "INST_ALLOWED_OK"

 }

(к оглавлению)

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

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

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

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

API:

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getGuarantee/PARTNER_ID?orderId= ІД_замовлення_партнер

або

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getGuarantee/PARTNER_ID?messageId= ІД_замовлення_партнер

HTTPS METHOD: GET

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

у вигляді списку параметрів;

у форматі Base64 (pdf);

на e-mail.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запит:

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getGuarantee/part?messageId=B6B920264F4E07AEE053AC112B083360

out json:

{

    "messageId": "B6B920264F4E07AEE053AC112B083360",

    "orderId": "",

    "statusCode": "NO_PARTNERID",

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

}

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

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

Запит:

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getGuarantee/partner?messageId= 

out json:

{

    "messageId": "",

    "orderId": "",

    "statusCode": "NO_IDS",

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

}

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


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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getGuarantee/partner?messageId=B6B920264F4E07AEE053AC112B083360

out json:

{

    "messageId": "B6B920264F4E07AEE053AC112B083360",

    "orderId": "",

    "statusCode": "NO_APP",

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

}

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


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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getGuarantee/partner?orderId=p12

out json:

{

    "messageId": "B8F3737ECEC02C81E0539B5A8F0A34E7",

    "orderId": "p12",

    "statusCode": "GUARANTEE_IS_FAIL",

    "statusText": "За замовленням p12|B8F3737ECEC02C81E0539B5A8F0A34E7 відправка Гарантійного листа неможлива!"

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getGuarantee/partner?messageId=B8F3737EE0712C81E0539B5A8F0A34E7

out json:

{

    "middleNameUkr": null,

    "nameUkr": null,

    "orderId": "part120",

    "taxId": "3327805234",

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

    "messageId": "B8F3737EE0712C81E0539B5A8F0A34E7",

    "guarantee": {

        "transactionDate": "16.01.2021",

        "orderSum": 142600,

        "orderVat": 0,

        "sumComis": 2432,

        "accrualSum": 140168

    },

    "firstNameUkr": "Denys",

    "lastNameUkr": "Levchenko",

    "statusCode": "GUARANTEE_IS_OK",

    "base64Pdf": "dfdfd"

}

Примітка: Вказати messageId запити на кроці final

(к оглавлению)

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

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

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

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

API: https://retailapi.sensebank.com.ua:8243/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
«Скасування замовлення неможливе! Скористайтеся операцією повернення»

MORE_ORDER_ID
«За замовленням ${orderId} виявлено кілька записів! Потрібен дод.параметр messageId!»

CANCEL_IS_FAIL
«Замовлення з номером $ {orderId} не вдалося скасувати»

MORE_ORDERID
«За замовленням $ {orderId} виявлено кілька записів! Потрібен дод. параметр messageId!»

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

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

    "messageId": "B61E90316C6C065CE053AC112B09BC8F",

    "cancelId": "",

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

}

out json:

{

    "statusCode": "INVALID_CANCELID",

    "statusText": "Указано некоректний номер скасування!",

    "messageId": "B61E90316C6C065CE053AC112B09BC8F",

    "orderId": "null"

}

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

https://retailapi.sensebank.com.ua:8243/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://retailapi.sensebank.com.ua:8243/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://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

    "orderId": "part140",

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

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

}

out json:

{

    "statusCode": "CANCEL_IS_OK",

    "statusText": "Скасування замовлення з номером part140 в обробці.",

    "messageId": "B8F3737EE1752C81E0539B5A8F0A34E7",

    "orderId": "part140"

}

Примітка: Ввести orderId заявки, що знаходиться на кроці waitReactionFromPartner

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/cancelOrder/partner

in json:

{

"orderId": "part130",

"cancelId": "rc0101",

"reasonCancel": "test"

}

out json:

{

    "statusCode": "CANCEL_AFTER_OK",

    "statusText": "Скасування замовлення неможливе! Скористайтеся операцією повернення",

    "messageId": "B8F3737EE16D2C81E0539B5A8F0A34E7",

    "orderId": "part130"

}

(к оглавлению)

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

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

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

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

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

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

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

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

CARD_BLOCKED
«Повернення неможливе! Картку заблоковано!»

CARD_NOT_ACTIVE
«Повернення неможливе! Картка неактивна!»

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

HAS_REV
«За цією покупкою вже була операція скасування чи повернення»

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

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

CANCEL_AFTER _OK
«Скасування замовлення неможливе! Скористайтесь операцією повернення»

(к оглавлению)

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

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

API: https://retailapi.sensebank.com.ua:8243/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} підтверджено!»
Замовлення оформлено
REQUEST_NOT_MATCH
«Запит не можна обробити! Перевірте статус замовлення!»

MORE_ORDERID
«За замовленням $ {orderId} виявлено кілька записів! Потрібен дод. параметр messageId!»

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/confirmOrder/partnr

in json:

{

"orderId": "с137",

"messageId": "B71DD130CAA0084EE053AC112B0952EF"

}

out json:

{

    "statusCode": "NO_PARTNERID",

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

    "messageId": "B71DD130CAA0084EE053AC112B0952EF",

    "orderId": "с137"

}

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

 

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/confirmOrder/partner

in json:

{

"orderId": "с196",

"messageId": "B8F3737EE0712C81E0539B5A8F0854E7"

}

out json:

{

    "statusCode": "NO_APP",

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

    "messageId": "B8F3737EE0712C81E0539B5A8F0854E7",

    "orderId": "с196"

}

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

 

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

https://retailapi.sensebank.com.ua:8243/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://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/confirmOrder/partner

in json:

{

"orderId": "с120",

"messageId": "B8F3737EE0712C81E0539B5A8F0A34E7"

}

out json:

{

    "statusCode": "CONFIRM_IS_OK",

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

    "messageId": "B8F3737EE0712C81E0539B5A8F0A34E7",

    "orderId": "part120"

}

Примітка: Ввести дійсні дані для заявки в статусі waitStatusFromPartner

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/confirmOrder/partner

in json:

{

"orderId": "с120",

"messageId": "B8F3737EE0712C81E0539B5A8F0A34E7"

}

out json:

{

    "statusCode": "REQUEST_NOT_MATCH",

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

    "messageId": "B8F3737EE0712C81E0539B5A8F0A34E7",

    "orderId": "с120"

}

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

(к оглавлению)

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

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

API: https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/checkReversal/PARTNER_ID?orderId= ИД_заказа_партнер&reversalSum=сума повернення

HTTPS METHOD: GET

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

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

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

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

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

statusCode
statusText
Примітка
NO_PARTNERID
«Партнер ${partnerId} не зареєстрований у системі!'»
 
NO_APP
«Замовлення не знайдено!»
 
INVALID_REVERSALSUM
«Указано некоректну суму повернення»
 
NO_REVERSAL
«Повернення ${reversalId} замовлення з номером ${orderId} не можна обробити!»

CARD_BLOCKED
«Повернення неможливе! Картку заблоковано!»

CARD_NOT_ACTIVE
«Повернення неможливе! Картка неактивна!»

NO_ORDERID
«Замовлення з номером ${orderId} не знайдено! Повернення за ним неможливе!»

HAS_REV
«За замовленням з номером ${orderId} вже є повернення або скасування!»

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

CHECK_REVERSAL_IS_OK
«Повернення замовлення з номером ${orderId} на суму ${reversalSum} можливе»

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/checkReversal/partnr?orderId=p11&reversalSum=221600

out json:

{

    "orderId": "p11",

    "statusCode": "NO_PARTNERID",

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

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/checkReversal/partner?orderId=&reversalSum=221600

out json:

{

    "orderId": "null",

    "statusCode": "NO_APP",

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

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/checkReversal/partner?orderId=p11&reversalSum=

out json:

{

    "orderId": "p11",

    "statusCode": "INVALID_REVERSALSUM",

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

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/checkReversal/partner?orderId=p11&reversalSum=50000

out json:

{

    "orderId": "p11",

    "statusCode": "CHECK_REVERSAL_IS_OK",

    "statusText": "Повернення замовлення з номером p11 на суму 50000 можливе."

}

(к оглавлению)

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

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

API: https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/reversalOrder/PARTNER_ID

HTTPS METHOD: POST

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

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

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

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

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

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

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

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

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

URL для відправки рішення

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

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

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

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

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

У разі створення повернення товару створюється окрема заявка з новим messageId

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

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

NO_REVERSALID
«Поле з номером повернення (reversalId) не може бути порожнім!»

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

INVALID_REVERSALSUM
«Указано некоректну суму повернення»

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

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

statusCode
statusText
Примітка
IN_PROCESSING
«Повернення в обробці!»
Повернення створено

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

{

"orderId": "p17",

"messageId": "B8F3737ED1962C81E0539B5A8F0A34E7",

"reversalId": "",

"reversalSum": "89000",

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

}

out json:

{

    "statusCode": "INVALID_REVERSALID",

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

    "messageId": "",

    "reversalId": "null"

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

{

"orderId": "p17",

"messageId": "B8F3737ED1962C81E0539B5A8F0A34E7",

"reversalId": "",

"reversalSum": "100000"

}

out json:

{

    "statusCode": "INVALID_REVERSALID",

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

    "messageId": "",

    "reversalId": "null"

}

Примітка: залишити "reversalId" порожнім

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

{

"orderId": "p17",

"messageId": "B8F3737ED1962C81E0539B5A8F0A34E7",

"reversalId": "rc17p",

"reversalSum": ""

}

out json:

{

    "statusCode": "INVALID_REVERSALSUM",

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

    "messageId": "",

    "reversalId": "rc17p"

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

{

"orderId": "p17",

"messageId": "B8F3737ED1962C81E0539B5A8F0A34E7",

"reversalId": "rc17p",

"reversalSum": "89000"

}

out json:

{

    "statusCode": "INVALID_CALLBACKURL",

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

    "messageId": "",

    "reversalId": "rc17p"

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/reversalOrder/partner

in json:

{

"orderId": "part130 ",

"reversalId": "rc17p",

"reversalSum": "89000",

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

}

out json:

{

    "statusCode": "IN_PROCESSING",

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

    "messageId": "B8F3737EE3442C81E0539B5A8F0A34E7",

    "reversalId": "rc17p"

}

(к оглавлению)

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

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

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

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

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

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

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

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

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

CARD_BLOCKED
«Повернення неможливе! Картку заблоковано!»

CARD_NOT_ACTIVE
«Повернення неможливе! Картка неактивна!»

NO_ORDERID
«Замовлення з номером ${orderId} не знайдено! Повернення за ним неможливе!»

HAS_REV
«За замовленням з номером ${orderId} вже є покупка або скасування!»

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

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

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

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

(к оглавлению)

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

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

API:

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getReversal/PARTNER_ID?reversalId= ІД_повернення_партнер

или

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getReversal/PARTNER_ID?messageId= ІД_повернення_партнер

HTTPS METHOD: GET

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

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

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

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

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

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

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

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

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

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

IN_PROCESSING
«Повернення в обробці!»

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

CARD_BLOCKED
«Повернення неможливе! Картку заблоковано!»

CARD_NOT_ACTIVE
«Повернення неможливе! Картка неактивна!»

NO_ORDERID
«Замовлення з номером ${orderId} не знайдено! Повернення за ним неможливе!»

HAS_REV
«За замовленням з номером ${orderId} вже є покупка або скасування!»

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

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getReversal/partne?reversalId=trg445

out json:

{

    "messageId": "",

    "reversalId": "",

    "statusCode": "NO_PARTNERID",

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

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getReversal/partner?reversalId=trg445

out json:

{

    "messageId": "",

    "reversalId": "trg445",

    "statusCode": "NO_APP",

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

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/getReversal/partner?messageId=B8F3737EE36E2C81E0539B5A8F0A34E7

out json:

{

    "messageId": "B8F3737EE36E2C81E0539B5A8F0A34E7",

    "reversalId": "",

    "statusCode": "REVERSAL_IS_OK",

    "statusText": "Повернення rever_part160 замовлення з номером part160 оброблено успішно"

}

Примітка: Відправити reversalId або messageId, за яким є повернення

(к оглавлению)

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

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

API:

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/sendStatementTaskByAccount

HTTPS METHOD: POST

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

partnerId – string, mandatory

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

account – string, mandatory

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

dateFrom – date, mandatory

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

dateTo – date, mandatory

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

callBackURL – string, mandatory

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

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

messageId – string, mandatory

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

statusCode – string, mandatory

statusText – string, mandatory

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

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

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

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

NO_ACCOUNT
"Отсутствует номер счета партнера"

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/sendStatementTaskByAccount

in json:

{

"partnerId":"all",

"account":"UA713003460000026001015531701",

"dateTo":"2022-11-30",

"callBackURL":" https://f.ua/api/alfabank/"

}

out json:

{

    "messageId": "",

    "reversalId": "",

    "statusCode": "NO_PARTNERID",

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

}

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

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/sendStatementTaskByAccount

in json:

{

"partnerId":"all",

"account":"UA713003460000026001015531701",

"callBackURL":" https://f.ua/api/alfabank/"

}

out json:

{

"messageId": "816c0bf7-a53b-4229-ac4b-7b4787d4a0ae",

"statusCode": "NO_DATE",

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

}

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

https://retailapi.sensebank.com.ua:8243/api/PartnerInstallment/v1.0/sendStatementTaskByAccount

in json:

{

"partnerId":"all",

"account":"UA713003460000026001015531701",

"dateTo":"2022-11-30",

"callBackURL":"https://f.ua/api/alfa/"

}

out json:

{

"messageId": "c5e1de06-c88b-439c-907b-87beb2c888c7",

"statusCode": "INVALID_CALLBACKURL",

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

}

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

out json:

{

"statusCode":"STATEMENT_IS_OK",

"statusText":"Выписка сформирована",

"messageId":"messageId",

"accountStatement":[

{

"edrpou":"123345",

"account":"UA546861313",

"partnerId":"touchtr 12",

"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) із зазначенням унікального ідентифікатора повернення
Не обмежено
MORE_ORDER_ID
«Щодо замовлення ${orderId} виявлено кілька записів! Потрібен дод.параметр messageId!»
Виникає в разі, якщо раніше було успішно оброблено кілька замовлень з orderId, переданим в параметрах
методу реєстрації повернення (винятковий кейс, виникає зрідка, в разі порушення Партнером правила унікальності ідентифікатора замовлення)
 
Виконати виклик методу реєстрації нового повернення (reversalOrder) із зазначенням унікального ідентифікатора замовлення messageId

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
Покупка успішна, відправлено Гарантійний лист!

(к оглавлению)