2.2. Форма попереднього запиту
Ця форма відправляється PaySoft на Result URL Продавця безпосередньо перед прийомом платежу. Дана форма передається, якщо у налаштуваннях Кабінету Продавця встановлено прапорець "Надсилати попередній запит". Рекомендуємо встановити цей прапорець і завжди обробляти "Форму попереднього запиту"!
Action - Result URL
Method - POST
Параметри форми:
Назва | Назва параметра в html-формі | Опис |
---|---|---|
Індикатор попереднього запиту | LMI_PREREQUEST | Значення завжди дорівнює 1. |
Ідентифікатор Продавця | LMI_MERCHANT_ID | Ідентифікатор торгової точки Продавця, на яку буде прийнято платіж. |
Сума платежу | LMI_PAYMENT_AMOUNT | Сума, яку збирається сплатити Клієнт. |
Внутрішній номер замовлення в системі обліку Продавця | LMI_PAYMENT_NO | Номер замовлення відповідно до системи обліку Продавця, отриманий від Продавця в «Формі запиту платежу». |
Ознака тестового режиму | LMI_MODE | Вказує, в якому режимі приймається платіж: 0 - робочий режим; 1 - тестовий режим. |
Ідентифікатор платіжного інструменту | LMI_PAYMENT_SYSTEM | Ідентифікатор платіжного інструменту, за допомогою якого буде виконано платіж. |
Призначення платежу | LMI_PAYMENT_DESC | Опис товару/роботи/послуги, що сплачується. Максимальна довжина - 255 символів. Кодування – UTF8. |
Номер телефону Клієнта | LMI_PAYER_PHONE_NUMBER | Номер телефону Клієнта у форматі 380xxxxxxxxx. |
Електронна адреса Клієнта | LMI_PAYER_EMAIL | Електронна адреса Клієнта. |
Додаткові параметри | Визначаються Продавцем | Всі поля, отримані від Продавця в "Формі запиту платежу", що не мають префікса "LMI_". |
Рекомендується не ігнорувати дані, отримані від PaySoft Merchant Interface у "Формі попереднього запиту", і використовувати їх для перевірок. Продавець повинен переконатися, що платіж, який буде прийнятий, є санкціонованим і його параметри не були підмінені Клієнтом у зловмисних цілях. Зокрема, рекомендується:
- Перевірити правильність Ідентифікатору Продавця (LMI_MERCHANT_ID).
- Перевірити наявність замовлення із зазначеним номером (LMI_PAYMENT_NO) у базі даних Продавця, а також той факт, що внутрішній статус цього замовлення в системі обліку Продавця дозволяє прийняти платіж за це замовлення.
- Упевнитися, що сума (LMI_PAYMENT_AMOUNT) відповідає замовленню й не була змінена Клієнтом.
- Перевірити цілісність і повноту Додаткових параметрів, установлених Продавцем, якщо це необхідно.
У випадку якщо всі необхідні перевірки пройдені, веб-сайт Продавця повинен повернути слово "YES" у відповідь на дану форму в тілі http-відповіді (наприклад, echo "YES" для PHP або HttpContext.Current.Response.Write("YES") для ASP.NET). Будь-який рядок, крім "YES", сприймається як помилка, відображається Клієнтові візуально в інтерфейсі PaySoft, а платіж не приймається. Якщо сайт Продавця недоступний або повертає у відповідь порожній рядок, прийом платежу також не здійснюється.