Назад до блогу

Білінг у підписках: пролонгація, інвойси, dunning і як уникнути “подвійних списань”

Практика побудови підпискового білінгу: статуси підписки, інвойси, ретраї оплат, dunning‑комунікації, ідемпотентність, webhooks і сценарії відновлення після помилок.

17 бер. 2026 р.

Білінг — найкритичніша частина SaaS

Користувач може пробачити дрібний UX‑баг, але не пробачить неправильне списання. Тому білінг потрібно проєктувати як фінансову систему: зі станами, аудитом і ідемпотентністю.

1) Модель станів підписки

  • trial → active → past_due → canceled/paused.
  • Чіткі правила переходів і хто їх ініціює (система/користувач/платіжка).

2) Ідемпотентність

  • Idempotency‑Key на створення інвойсу/оплату.
  • Дедуплікація webhook‑подій (eventId).

3) Dunning: повертаємо оплату

  • Ретраї з backoff (не “кожні 5 секунд”).
  • Листи/нотифікації: що сталося і як виправити.
  • Grace period: не відрубати доступ миттєво.

4) Аудит і звірка

Логи операцій (інвойс, платіж, повернення) і можливість звірки з провайдером платежів — must‑have для підтримки.

Підсумок

Стабільний білінг зменшує churn: користувачі не втрачаються через помилки оплат. А для бізнесу це основа прогнозованого MRR.

Релевантні статті