Compare commits

...

1 Commits

Author SHA1 Message Date
O K
5f0f592bbc update readme 2025-06-09 11:51:44 +03:00
2 changed files with 157 additions and 69 deletions

View File

@@ -1250,7 +1250,7 @@ class Hutko extends PaymentModule
public function displayLastDayLog() public function displayLastDayLog()
{ {
$baseLogDir = _PS_ROOT_DIR_ . '/var/modules/' . $this->name . '/logs/'; $baseLogDir = _PS_ROOT_DIR_ . '/var/modules/' . $this->name . '/logs/';
$daysToCheck = 300; // How many recent days to check for logs $daysToCheck = 30; // How many recent days to check for logs
$latestLogFile = false; $latestLogFile = false;
$logDate = null; $logDate = null;

224
readme.md
View File

@@ -1,105 +1,193 @@
# Платіжний модуль Hutko PrestaShop # Платіжний модуль Hutko для PrestaShop
Hutko це платіжний сервіс, який рухає бізнес вперед. Запуск, набирання обертів, масштабування ми подбаємо про вас усюди. **Hutko** — це сучасний платіжний сервіс, який допомагає бізнесу розвиватися на всіх етапах: запуск, масштабування, зростання. Надійно. Швидко. Зручно.
Цей модуль інтегрує платіжний шлюз Hutko у ваш магазин PrestaShop, дозволяючи вашим клієнтам безпечно оплачувати свої замовлення через Hutko. Цей модуль інтегрує платіжний шлюз Hutko у ваш інтернет-магазин на PrestaShop, надаючи покупцям можливість безпечно та комфортно оплачувати замовлення онлайн.
---
## Зміст ## Зміст
1. [Функції](#функції та особливості) 1. [Можливості](#можливості)
2. [Встановлення](#встановлення) 2. [Встановлення](#встановлення)
3. [Налаштування](#налаштування)
3. [Конфігурація](#конфігурація)
4. [Використання](#використання) 4. [Використання](#використання)
5. [Підтримка](#підтримка) 5. [Підтримка](#підтримка)
## Функції та особливості ---
* Інтеграція з платіжним шлюзом Hutko для PrestaShop 1.7.7 - 8.2 (та 9.0-бета). ## Можливості
* Зберігання платіжного посилання для можливості надання клієнту повторно.
* Можливість повного або часткового повернення коштів безпосередньо зі сторінки обробки замовлення.
* Підтримка різних статусів платежів (Схвалено, Відхилено, Минув термін дії, Обробляється). - Повна інтеграція з платіжною платформою Hutko для PrestaShop 1.7.7 8.2 (та 9.0-бета).
- Підтримка збереження платіжного посилання — зручно для повторної оплати.
* Автоматичне оновлення статусу замовлення в PrestaShop. - Повернення коштів (повне або часткове) безпосередньо зі сторінки замовлення.
- Синхронізація статусів платежів: Схвалено, Відхилено, Минув термін, Обробляється.
* Можливість включення вартості доставки у суму платежу. - Автоматичне оновлення статусу замовлень у PrestaShop.
* Можливість зберігання логів запитів до серверу для виявлення помилок та в інтересах безпеки. - Можливість включення доставки у загальну суму платежу.
- Журнал запитів до Hutko API — для діагностики та підвищеної безпеки.
---
## Встановлення ## Встановлення
Виконайте такі кроки, щоб встановити модуль Hutko у вашому магазині PrestaShop: Перед встановленням переконайтесь, що на сервері активовано PHP-розширення **cURL**.
Переконайтесь що на сервері встановлений модуль PHP cURL.
1. **Завантажте модуль:** Отримайте останню версію модуля Hutko з офіційного джерела. 1. **Завантаження модуля**
- Отримайте актуальну версію з офіційного репозиторію модуля.
2. **Завантажте в PrestaShop:** 2. **Інсталяція в PrestaShop**
- Увійдіть в адмін-панель.
- Перейдіть у `Модулі > Менеджер модулів`.
- Натисніть кнопку `Завантажити модуль`.
- Завантажте `.zip` файл модуля.
* Увійдіть до панелі адміністратора PrestaShop. 3. **Встановлення**
- Після завантаження PrestaShop автоматично розпізнає модуль.
- Дотримуйтесь інструкцій на екрані для завершення інсталяції.
* Перейдіть до **Модулі > Менеджер модулів**. ---
* Натисніть кнопку «Завантажити модуль» (зазвичай розташована у верхньому правому куті). ## Налаштування
* Перетягніть файл модуля `.zip` в область завантаження або клацніть, щоб вибрати файл. Після встановлення перейдіть до налаштувань модуля та внесіть реквізити свого облікового запису Hutko.
3. **Встановіть модуль:** 1. **Відкрити параметри модуля**
- Панель адміністратора → `Модулі > Менеджер модулів`.
- Знайдіть "Hutko" та натисніть `Налаштувати`.
* Після завантаження PrestaShop автоматично виявить модуль. 2. **Введіть облікові дані**
- `Ідентифікатор продавця (Merchant ID)` — унікальний код від Hutko (**обов’язкове** поле).
- `Секретний ключ` — необхідний для захисту підпису операцій (**обов’язкове** поле).
- Виберіть статуси замовлення:
- для успішної оплати
- для очікування оплати
- Опціонально: ввімкніть/вимкніть показ логотипів платіжних карток.
3. **Збережіть налаштування**
- Натисніть кнопку `Зберегти`.
* Дотримуйтесь будь-яких підказок на екрані. > ⚠️ Без коректних облікових даних сервісу Hutko модуль не працюватиме.
## Конфігурація ---
Після успішної інсталяції необхідно налаштувати модуль, використовуючи дані вашого облікового запису Hutko:
1. **Конфігурація модуля доступу:**
* У панелі адміністратора PrestaShop перейдіть до **Модулі > Менеджер модулів**.
* Знайдіть модуль "Hutko" та натисніть кнопку "Налаштувати".
2. **Введіть необхідні облікові дані:**
* **Ідентифікатор продавця (Merchant ID):** Введіть свій унікальний ідентифікатор продавця, наданий Hutko. Це обов'язкове поле.
* **Секретний ключ:** Введіть свій секретний ключ, наданий Hutko. Це обов'язкове поле, яке є критично важливим для безпечної перевірки підпису.
* **Статус успішного замовлення:** Виберіть статус замовлення, який слід застосовувати до замовлень, успішно оплачених через Hutko (дивіться примітку 7 у розділі Використання).
* **Статус нових замовлень до оплати:** Виберіть статус замовлення, який слід застосовувати до нових замовлень, оплата за які ще не надійшла (дивіться примітку 7 у розділі Використання).
* **Показати логотип картки:** Увімкніть або вимкніть відображення логотипів картки на сторінці вибору способу оплати.
3. **Зберегти зміни:** Натисніть кнопку "Зберегти", щоб застосувати налаштування конфігурації.
**Важливо:** Без правильного налаштування **Ідентифікатора продавця** та **Секретного ключа** модуль не працюватиме належним чином і не відображатиметься як варіант оплати під час оформлення замовлення.
## Використання ## Використання
Після налаштування варіант оплати Hutko автоматично з’явиться на сторінці оформлення замовлення для клієнтів. Після налаштування модуль автоматично додає Hutko як спосіб оплати на сторінці оформлення замовлення.
1. Клієнти вибирають «Оплатити через Hutko» на кроці оплати. 1. Клієнт обирає "Оплатити через Hutko".
2. Відбувається переадресація на платіжну сторінку Hutko.
2. Їх буде перенаправлено на сторінку оплати Hutko для завершення транзакції. 3. Після успішної оплати — автоматичне повернення до PrestaShop і оновлення статусу замовлення.
4. У разі помилки — клієнта буде перенаправлено з повідомленням про помилку.
3. Після успішної оплати клієнта буде перенаправлено назад на сторінку підтвердження замовлення вашого магазину PrestaShop, і статус замовлення буде оновлено відповідно.
4. У разі невдалої оплати клієнта буде перенаправлено назад на сторінку замовлення з відповідним повідомленням про помилку.
5. Модуль автоматично отримує від серверу Hutko інформацію про оновлення стану платежу. При зміні статусу на "помилка" (declined) або "час вичерпано" (expired) - модуль присвоїть замовленню системний статус "Помилка платежу". 5. Модуль автоматично отримує від серверу Hutko інформацію про оновлення стану платежу. При зміні статусу на "помилка" (declined) або "час вичерпано" (expired) - модуль присвоїть замовленню системний статус "Помилка платежу".
6. Якщо в налаштуваннях Prestashop встановлено рівень безпеки для Cookie SameSite "strict", то, при поверненні на сайт зі сторінки платежів Hutko, клієнт буде деавторизований. Це обмеження системи Prestashop. Модуль має спеціальну сторінку переадресації, яка дозволяє навіть при такому сценарї відобразити клієнту сторінку з підтвердженням замовлення. Для уникнення незручностей клієнтів рекомендуємо встановити обмеження Cookie SameSite у "none" (на вкладці Розширені папраметри -> Адімністрування). 6. Якщо в налаштуваннях Prestashop встановлено рівень безпеки для Cookie SameSite "strict", то, при поверненні на сайт зі сторінки платежів Hutko, клієнт буде деавторизований. Це обмеження системи Prestashop. Модуль має спеціальну сторінку переадресації, яка дозволяє навіть при такому сценарї відобразити клієнту сторінку з підтвердженням замовлення. Для уникнення незручностей клієнтів рекомендуємо встановити обмеження Cookie SameSite у "none" (на вкладці Розширені параметри -> Адімністрування).
7. Якщо статус замовлення в Prestashop має відмітку "вважати оплаченим", то при присвоєнні такого статусу, Prestashop автоматично створить в блоці Платежі новий платіж на суму недоплати. Це може створити непорозуміння щодо сум фактичних оплат. Для цього рекомендуємо обирати в налаштуваннях модулю статуси, в яких відключене налаштування "вважати оплаченим". 7. Якщо статус замовлення в Prestashop має відмітку "вважати оплаченим", то при присвоєнні такого статусу, Prestashop автоматично створить в блоці Платежі новий платіж на суму недоплати. Це може створити непорозуміння щодо сум фактичних оплат. Для цього рекомендуємо обирати в налаштуваннях модулю статуси, в яких відключене налаштування "вважати оплаченим".
---
## Підтримка ## Підтримка
Якщо у вас виникнуть проблеми або виникнуть запитання щодо модуля Hutko PrestaShop, будь ласка, зверніться до наступного: Якщо у вас виникли запитання або труднощі:
* **Документація Hutko:** Зверніться до офіційного API та документації інтеграції Hutko для отримання детальної інформації. - Звертайтеся до [документації Hutko API](https://hutko.org/uk/).
- Ставте питання на [форумі PrestaShop](https://www.prestashop.com/forums/).
* **Форуми PrestaShop:** Шукайте або залишайте своє запитання на офіційних форумах PrestaShop. ---
© Hutko, 2025. Усі права захищено.
# Hutko Payment Module for PrestaShop
**Hutko** is a modern payment service that helps businesses grow at all stages: launch, scale, growth. Reliable. Fast. Convenient.
This module integrates the Hutko payment gateway into your online store on PrestaShop, giving customers the opportunity to pay for orders safely and comfortably online.
---
## Table of Contents
1. [Features](#Features)
2. [Installation](#installation)
3. [Configuration](#configuration)
4. [Usage](#usage)
5. [Support](#support)
---
## Features
- Full integration with the Hutko payment platform for PrestaShop 1.7.7 8.2 (and 9.0-beta).
- Support for saving the payment link — convenient for repeated payments.
- Refund (full or partial) directly from the order page.
- Synchronization of payment statuses: Approved, Rejected, Expired, Processing.
- Automatic update of order statuses in PrestaShop.
- Ability to include shipping in the total payment amount.
- Hutko API request log — for diagnostics and increased security.
---
## Installation
Before installation, make sure that the PHP extension **cURL** is activated on the server.
1. **Downloading the module**
- Get the current version from the official module repository.
2. **Installing in PrestaShop**
- Log in to the admin panel.
- Go to `Modules > Module Manager`.
- Click the `Download module` button.
- Download the `.zip` module file.
3. **Installation**
- After downloading, PrestaShop will automatically recognize the module.
- Follow the on-screen instructions to complete the installation.
---
## Settings
After installation, go to the module settings and enter your Hutko account details.
1. **Open module settings**
- Admin panel → `Modules > Module manager`.
- Find "Hutko" and click `Configure`.
2. **Enter credentials**
- `Merchant ID` — a unique code from Hutko (**required** field).
- `Secret key` — required to protect the signature of transactions (**required** field).
- Select order statuses:
- for successful payment
- for payment pending
- Optional: enable/disable the display of payment card logos.
3. **Save settings**
- Click the `Save` button.
> ⚠️ Without correct Hutko service credentials, the module will not work.
---
## Usage
After configuration, the module automatically adds Hutko as a payment method on the checkout page.
1. The customer selects "Pay via Hutko".
2. Redirects to the Hutko payment page.
3. After successful payment, automatic return to PrestaShop and update of the order status.
4. In case of an error, the customer will be redirected with an error message.
5. The module automatically receives information about the payment status update from the Hutko server. If the status changes to "declined" or "expired", the module will assign the order the system status "Payment error".
6. If the security level for Cookie SameSite is set to "strict" in the Prestashop settings, then when returning to the site from the Hutko payment page, the customer will be deauthorized. This is a limitation of the Prestashop system. The module has a special redirect page, which allows even in such a scenario to display the order confirmation page to the client. To avoid customer inconvenience, we recommend setting the SameSite Cookie restriction to "none" (on the Advanced Settings -> Administration tab).
7. If the order status in Prestashop is marked "consider paid", then when assigning such a status, Prestashop will automatically create a new payment in the Payments block for the amount of the underpayment. This may create a misunderstanding regarding the amounts of actual payments. To do this, we recommend choosing statuses in the module settings in which the "consider paid" setting is disabled.
---
## Support
If you have any questions or difficulties:
- Contact the [Hutko API documentation](https://hutko.org/uk/).
- Ask a question on the [PrestaShop forum](https://www.prestashop.com/forums/).
---
© Hutko, 2025. All rights reserved.