Перейти до основного вмісту

Використання модуля

Оформлення підписки на вебсайті Odoo

  1. Клієнт переходить на вебсайт Odoo.
  2. Відкриває сторінку продукту-підписки.
  3. Натискає Додати в кошик.
  4. Переходить до оформлення замовлення (Checkout).
  5. Заповнює дані (контактні дані, адресу тощо — за потреби).
  6. На кроці вибору способу оплати обирає LiqPay.
  7. Підтверджує оформлення замовлення — система перенаправляє клієнта на сторінку оплати LiqPay.
  8. Клієнт проводить оплату карткою на стороні LiqPay (перша оплата / передоплата за підпискою).

Після підтвердження першої оплати:

  • у LiqPay створюється платіж за підпискою, у якому фіксуються:
    • дата початку (дата SO/Invoice);
    • сума списання;
    • періодичність списання;
    • дата закінчення підписки (якщо задана);
  • LiqPay повертає в Odoo результат першої оплати та ID платежу (payment_id).

Дії в Odoo

Якщо модуль Бухоблік (accountant) встановлено:

Після успішної оплати та отримання відповіді від LiqPay:

  1. В Odoo створюється Замовлення на продаж (SO) зі статусом Замовлення на продаж (якщо його ще не було). ID підписки LiqPay та поточний статус підписки в LiqPay зберігаються у Замовленні на продаж (SO) на вкладці «Інша інформація», що дозволяє швидко бачити стан зовнішньої підписки безпосередньо з Odoo.

Замовлення на продаж з ID підписки LiqPay та статусом підписки

  1. Автоматично створюється Рахунок (Invoice) за перший період підписки.
  2. Статус оплати Рахунку = В оплаті (In Payment).
  3. Створюється пов’язаний Платіж (Payment) на всю суму оплати зі статусом В процесі (In Process).
  4. Автоматично створюється Платіжна операція (Payment Transaction), перехід до якої, як і до пов’язаного Платежу, доступний з Рахунку через розумні кнопки
  5. У полі Призначення платежу система зберігає унікальний ID платежу в LiqPay. Це значення передається до Journal Items і використовується для узгодження банківських виписок.

Для завершення операції бухгалтер:

  1. Імпортує банківську виписку.
  2. Виконує узгодження (reconciliation) банківських рядків з відповідними Платежами (ідентифікація за полем Memo / Призначення платежу з ID LiqPay).
  3. Після узгодження статус Рахунку та Платежу змінюється на Оплачено (Paid).

Якщо модуль Бухоблік (accountant) не встановлено:

  1. В Odoo створюється Замовлення на продаж (SO) зі статусом Замовлення на продаж. ID підписки LiqPay та поточний статус підписки в LiqPay зберігаються у Замовленні на продаж (SO) на вкладці «Інша інформація», що дозволяє швидко бачити стан зовнішньої підписки безпосередньо з Odoo.
  2. Автоматично створюється Рахунок (Invoice) зі статусом оплати Оплачено (Paid).
  3. Створюється пов’язаний Платіж (Payment) на всю суму оплати зі статусом Оплачено (Paid).
  4. Створюється Платіжна операція (Payment Transaction) з інформацією про деталі оплати LiqPay; перехід до неї доступний з Рахунку через розумні кнопки.
  5. Операція продажу вважається завершеною; окремого процесу рознесення банківської виписки в Odoo немає.

Повторні списання за підпискою

Дії на стороні LiqPay

При настанні дати чергового списання:

  • LiqPay автоматично ініціює наступний платіж за збереженими даними картки клієнта;
  • створюється новий платіж LiqPay;
  • в Odoo надсилається повідомлення із результатом оплати та новим ID платежу.

Карткові дані зберігаються та обробляються на стороні LiqPay; в Odoo передається вже результат оплати та зберігається лише ID платежу.

Дії в Odoo при встановленому модулі Бухоблік

Після отримання повідомлення від LiqPay про успішне повторне списання:

  1. В Odoo автоматично створюється новий Рахунок (Invoice) за наступний період підписки.
  2. Створюється новий Платіж (Payment) на суму списання зі статусом В процесі (In Process).
  3. Створюється нова Платіжна операція (Payment Transaction), у якій:
    • в полі Payment Reference зберігається ID платежу LiqPay;
  4. У відповідному Платежі ID LiqPay записується в поле Memo / Призначення платежу.
  5. Після імпорту банківської виписки та узгодження:
    • статус Рахунку змінюється на Оплачено (Paid);
    • статус Платежу змінюється на Оплачено (Paid).

Ці кроки повторюються для кожного періоду, поки підписка активна.

Дії в Odoo, якщо модуль Бухоблік не встановлено

Якщо модуль Бухоблік не встановлено:

  1. Для кожного чергового списання створюється новий Рахунок зі статусом оплати Оплачено (Paid).
  2. Створюється пов’язаний Платіж зі статусом Оплачено (Paid).
  3. Створюється Платіжна операція з ID платежу LiqPay.
  4. Узгодження з банківською випискою в Odoo не виконується.

Завершення або скасування підписки

Автоматичне завершення підписки (через cron)

  1. В Odoo у Замовленні на продаж (SO) з підпискою є можливість вказати дату закінчення підписки.

Деталі плану повторюваних платежів у Замовленні на продаж

  1. В Odoo налаштовано автоматичне завдання (cron) «LiqPay: Cancel Expired Subscriptions». Це крон запускається кожного дня та:

    • відбирає всі Замовлення на продаж, у яких дата закінчення підписки ≤ поточна дата;
    • для кожної такої підписки формує запит до LiqPay на її закриття
  2. LiqPay отримує запит, закриває підписку та припиняє подальші списання коштів.

  3. Після отримання підтвердження від LiqPay в Odoo:

    • статус відповідної підписки/Замовлення на продаж змінюється на «Закрито»);
    • нові платежі за цією підпискою більше не створюються.

Таким чином, дата закінчення підписки задається та зберігається в Odoo, cron відстежує настання цієї дати, передає інформацію в LiqPay, а LiqPay фактично зупиняє списання та закриває підписку.

Ручне завершення підписки

  1. Користувач Odoo відкриває відповідне Замовлення на продаж з активною підпискою.

  2. Натискає кнопку «Закрити підписку»

  3. Odoo одразу формує запит до LiqPay на закриття цієї підписки.

  4. LiqPay отримує запит, закриває підписку і припиняє наступніі списання.

  5. Після підтвердження від LiqPay в Odoo:

    • статус підписки в Замовленні на продаж змінюється на «Закрито»;
    • нові повторні платежі за цією підпискою не ініціюються.

Обидва способи (через автоматичний cron та вручну з Замовлення на продаж) забезпечують синхронне закриття підписки в Odoo та в LiqPay і гарантують, що наступні платежі не будуть стягуватися.