Опис проєкту
ПерекладКонкретно система має підтримувати кілька тарифів і рівнів (місячні та річні), безплатні триали з автоматичною конвертацією в платну підписку, а також облік за використанням для тенантів, що вийшли за включену квоту. При апгрейді в середині циклу потрібна коректна пропорція — і кредит за невикористану частину старого тарифу, і списання за новий. Невдалі списання мають запускати настроювальну послідовність дунінгу з повторними спробами та нагадуваннями до призупинення підписки, а кожна біллінгова подія зобов'язана формувати зрозумілий рахунок зі строками, податками та застосованим циклом. Все строго ізольовано по тенанту: жоден акаунт не повинен бачити дані іншого.
Запропонуйте, будь ласка, чітку модель даних та інтеграцію з платіжним провайдером на ваш вибір для списань по картах та вебхуків. Для нас важливі ідемпотентна обробка колбеків провайдера, аудитована реєстр всіх списань та кредитів та адмін-інструменти для перегляду та правки підписки тенанта. У відповіді напишіть, як ви раніше робили пропорцію та дунінг.
— Тарифи і рівні з місячним/річним циклом та апгрейдом в середині циклу
— Облік за використанням із включеними квотами та списанням за перевищення
— Пропорція при апгрейді, даунгрейді та зміні числа місць
— Безплатні триали з автоматичною конвертацією в оплату
— Дунінг: повтори, нагадування та призупинення при невдалій оплаті
— Рахунки зі строками та податками плюс реєстр по кожному тенанту
— Строга ізоляція тенантів та ідемпотентні платіжні вебхуки