2.3. Форма сповіщення про платіж
Ця форма відправляється PaySoft на Result URL Продавця відразу після успішного прийому платежу. Значення Result URL вказується у налаштуваннях магазину в «Кабінеті Продавця».
Action - Result URL
Method – POST
Параметри форми:
Назва | Назва параметра в html-формі | Опис |
---|---|---|
Ідентифікатор Продавця | LMI_MERCHANT_ID | Ідентифікатор торгової точки Продавця, на яку Клієнт передав платіж. |
Сума платежу | LMI_PAYMENT_AMOUNT | Сума, яку сплатив Клієнт на користь Продавця. |
Загальна сума | LMI_PAID_AMOUNT | Загальна сплачена сума з урахуванням додаткових комісій Фінансової установи. |
Внутрішній номер замовлення в системі обліку Продавця | LMI_PAYMENT_NO | Номер замовлення відповідно до системи обліку Продавця, отриманий від Продавця в «Формі запиту платежу». |
Ознака тестового режиму | LMI_MODE | Вказує, в якому режимі було прийнято платіж: 0 - робочий режим; 1 - тестовий режим. |
Внутрішній номер платежу в системі PaySoft | LMI_SYS_PAYMENT_ID | Номер прийнятого платежу в системі PaySoft. |
Ідентифікатор платіжного інструменту | LMI_PAYMENT_SYSTEM | Ідентифікатор платіжного інструменту, за допомогою якого буде виконано платіж. |
Дата й час прийому платежу | LMI_SYS_PAYMENT_DATE | Дата й час прийому платежу в системі PaySoft у форматі YYYY-MM-DD hh:mm:ss (за київським часом). |
Реквізит Клієнта | LMI_PAYER_IDENTIFIER | Платіжна інформація щодо Клієнта (наприклад, маскований номер банківської карти). Формат залежить від платіжного інструменту, за допомогою якого було здійснено платіж. |
Призначення платежу | LMI_PAYMENT_DESC | Опис товару/роботи/послуги, що сплачується. Максимальна довжина - 255 символів. Кодування – UTF8. |
Номер телефону Клієнта | LMI_PAYER_PHONE_NUMBER | Номер телефону Клієнта у форматі 380xxxxxxxxx. |
Електронна адреса Клієнта | LMI_PAYER_EMAIL | Електронна адреса Клієнта. |
Контрольний підпис | LMI_HASH | Контрольний підпис "Форми сповіщення про платіж", який використовується для перевірки цілісності отриманої інформації й однозначної ідентифікації відправника. Підпис є результатом хешування рядка, отриманого шляхом склеювання (без роздільників) значень наступних параметрів точно в зазначеному порядку: LMI_MERCHANT_ID LMI_PAYMENT_NO LMI_SYS_PAYMENT_ID LMI_SYS_PAYMENT_DATE LMI_PAYMENT_AMOUNT LMI_PAID_AMOUNT LMI_PAYMENT_SYSTEM LMI_MODE secretKey Алгоритм хешування та Secret Key встановлюються Продавцем у налаштуваннях його Кабінету, і відомий тільки Продавцю та системі PaySoft. Рекомендованим алгоритмом є SHA256. |
Додаткові параметри | Визначаються Продавцем | Всі поля, отримані від Продавця в "Формі запиту платежу", що не мають префікса "LMI_". |
«Форма сповіщення про платіж» сигналізує Продавцю про те, що платіж був успішно прийнятий.
Продавець обов'язково повинен передбачити перевірки інформації, отриманої ним від PaySoft в "Формі сповіщення про платіж" так само, як це запропоновано для "Форми попереднього запиту". Крім того, Продавець має перевірити контрольний підпис (LMI_HASH). Для цього Продавець:
- формує рядок шляхом «склеювання» значень параметрів, отриманих у "Формі сповіщення про платіж", у тому ж порядку, що й при формуванні контрольного підпису системою PaySoft (див. вище опис параметра LMI_HASH);
- використовуючи алгоритм, встановлений в Кабінеті Продавця, обчислює шифр отриманого рядка;
- переводить отриманий рядок у верхній регістр;
- порівнює обчислене значення шифру зі значенням параметра LMI_HASH, отриманого через "Форму сповіщення про платіж".
У випадку якщо хоча б одна перевірка не пройдена, Продавець повинен відкласти виконання замовлення, така ситуація повинна розглядатися в ручному режимі фахівцями Продавця.
PaySoft не очікує від Продавця ніякої відповіді на "Форму сповіщення про платіж".
Оскільки Result URL отримує 2 форми ("Форму попереднього запиту" і "Форму сповіщення про платіж"), рекомендується визначати, яка саме форма передана, по наявності параметрів LMI_PREREQUEST (в "Формі сповіщення про платіж" відсутній) та/або LMI_HASH (в "Формі попереднього запиту" відсутній) та/або LMI_SYS_PAYMENT_ID (в "Формі попереднього запиту" відсутній) і т.п.
Якщо в Кабінеті Продавця встановлено прапорець «Повторно надсилати Payment Notification при збоях», форму сповіщення про платіж буде з деякою періодичністю повторно надіслано на Result URL, доки у відповідь не буде отримано HTTP код 200.
Рекомендованим алгоритмом шифрування є SHA256.