Використання модуля
Оформлення підписки на вебсайті Odoo
- Клієнт переходить на вебсайт Odoo.
- Відкриває сторінку продукту-підписки.
- Натискає Додати в кошик.
- Переходить до оформлення замовлення (Checkout).
- Заповнює дані (контактні дані, адресу тощо — за потреби).
- На кроці вибору способу оплати обирає LiqPay.
- Підтверджує оформлення замовлення — система перенаправляє клієнта на сторінку оплати LiqPay.
- Клієнт проводить оплату карткою на стороні LiqPay (перша оплата / передоплата за підпискою).
Після підтвердження першої оплати:
- у LiqPay створюється платіж за підпискою, у якому фіксуються:
- дата початку (дата SO/Invoice);
- сума списання;
- періодичність списання;
- дата закінчення підписки (якщо задана);
- LiqPay повертає в Odoo результат першої оплати та ID платежу (payment_id).
Дії в Odoo
Якщо модуль Бухоблік (accountant) встановлено:
Після успішної оплати та отримання відповіді від LiqPay:
- В Odoo створюється Замовлення на продаж (SO) зі статусом Замовлення на продаж (якщо його ще не було). ID підписки LiqPay та поточний статус підписки в LiqPay зберігаються у Замовленні на продаж (SO) на вкладці «Інша інформація», що дозволяє швидко бачити стан зовнішньої підписки безпосередньо з Odoo.

- Автоматично створюється Рахунок (Invoice) за перший період підписки.
- Статус оплати Рахунку = В оплаті (In Payment).
- Створюється пов’язаний Платіж (Payment) на всю суму оплати зі статусом В процесі (In Process).
- Автоматично створюється Платіжна операція (Payment Transaction), перехід до якої, як і до пов’язаного Платежу, доступний з Рахунку через розумні кнопки
- У полі Призначення платежу система зберігає унікальний ID платежу в LiqPay. Це значення передається до Journal Items і використовується для узгодження банківських виписок.
Для завершення операції бухгалтер:
- Імпортує банківську виписку.
- Виконує узгодження (reconciliation) банківських рядків з відповідними Платежами (ідентифікація за полем Memo / Призначення платежу з ID LiqPay).
- Після узгодження статус Рахунку та Платежу змінюється на Оплачено (Paid).
Якщо модуль Бухоблік (accountant) не встановлено:
- В Odoo створюється Замовлення на продаж (SO) зі статусом Замовлення на продаж. ID підписки LiqPay та поточний статус підписки в LiqPay зберігаються у Замовленні на продаж (SO) на вкладці «Інша інформація», що дозволяє швидко бачити стан зовнішньої підписки безпосередньо з Odoo.
- Автоматично створюється Рахунок (Invoice) зі статусом оплати Оплачено (Paid).
- Створюється пов’язаний Платіж (Payment) на всю суму оплати зі статусом Оплачено (Paid).
- Створюється Платіжна операція (Payment Transaction) з інформацією про деталі оплати LiqPay; перехід до неї доступний з Рахунку через розумні кнопки.
- Операція продажу вважається завершеною; окремого процесу рознесення банківської виписки в Odoo немає.
Повторні списання за підпискою
Дії на стороні LiqPay
При настанні дати чергового списання:
- LiqPay автоматично ініціює наступний платіж за збереженими даними картки клієнта;
- створюється новий платіж LiqPay;
- в Odoo надсилається повідомлення із результатом оплати та новим ID платежу.
Карткові дані зберігаються та обробляються на стороні LiqPay; в Odoo передається вже результат оплати та зберігається лише ID платежу.
Дії в Odoo при встановленому модулі Бухоблік
Після отримання повідомлення від LiqPay про успішне по вторне списання:
- В Odoo автоматично створюється новий Рахунок (Invoice) за наступний період підписки.
- Створюється новий Платіж (Payment) на суму списання зі статусом В процесі (In Process).
- Створюється нова Платіжна операція (Payment Transaction), у якій:
- в полі Payment Reference зберігається ID платежу LiqPay;
- У відповідному Платежі ID LiqPay записується в поле Memo / Призначення платежу.
- Після імпорту банківської виписки та узгодження:
- статус Рахунку змінюється на Оплачено (Paid);
- статус Платежу змінюється на Оплачено (Paid).
Ці кроки повторюються для кожного періоду, поки підписка активна.
Дії в Odoo, якщо модуль Бухоблік не встановлено
Якщо модуль Бухоблік не встановлено:
- Для кожного чергового списання створюється новий Рахунок зі статусом оплати Оплачено (Paid).
- Створюється пов’язаний Платіж зі статусом Оплачено (Paid).
- Створюється Платіжна операція з ID платежу LiqPay.
- Узгодження з банківською випискою в Odoo не виконується.
Завершення або скасування підписки
Автоматичне завершення підписки (через cron)
- В Odoo у Замовленні на продаж (SO) з підпискою є можливість вказати дату закінчення підписки.

-
В Odoo налаштовано автоматичне завдання (cron) «LiqPay: Cancel Expired Subscriptions». Це крон запускається кожного дня та:
- відбирає всі Замовлення на продаж, у яких дата закінчення підписки ≤ поточна дата;
- для кожної такої підписки формує запит до LiqPay на її закриття
-
LiqPay отримує запит, закриває підписку та припиняє подальші списання коштів.
-
Після отримання підтвердження від LiqPay в Odoo:
- статус відповідної підписки/Замовлення на продаж змінюється на «Закрито»);
- нові платежі за цією підпискою більше не створюються.
Таким чином, дата закінчення підписки задається та зберігається в Odoo, cron відстежує настання цієї дати, передає інформацію в LiqPay, а LiqPay фактично зупиняє списання та закриває підписку.
Ручне завершення підписки
-
Користувач Odoo відкриває відповідне Замовлення на продаж з активною підпискою.
-
Натискає кнопку «Закрити підписку»
-
Odoo одразу формує запит до LiqPay на закриття цієї підписки.
-
LiqPay отримує запит, закриває підписку і припиняє наступніі списання.
-
Після підтвердження від LiqPay в Odoo:
- статус підписки в Замовленні на продаж змінюється на «Закрито»;
- нові повторні платежі за цією підпискою не ініціюються.
Обидва способи (через автоматичний cron та вручну з Замовлення на продаж) забезпечують синхронне закриття підписки в Odoo та в LiqPay і гарантують, що наступні платежі не будуть стягуватися.