03
Многие копании сейчас разрабатывают различные сервисы и программы, которые можно продавать по модели SaaS. Каждая из них сталкивается с некоторым списком однотипных задач, которые пытаются решать своими силами. Одной из таких задач является написание биллинга.
Для многих это настоящая головная боль, ведь не всякая команда разработчиков может спроектировать хорошую биллинговую систему – тут нужены опыт и знания, а биллинг – не та песочница в которой можно учиться разрабатывать ПО. Где же в таком случае взять готовый биллинг? Тут на помощь должны придти SaaS-провайдеры, у которых он обычно есть.
Что должен уметь делать “правильный” биллинг? Я бы сформулировал это так: AAA + несколько фич “сверху”.
Описание ни в коем случае не претендует на полноту – это всего лишь идея, концепт.
Аутентификация
Ну тут всё более-менее просто, можно использовать довольно распространённую технологию OAuth.
Авторизация
Здесь нам нужно определить у кого какие права на доступ к каким функциям.
Например, отел продаж имеет доступ к модулю CRM, а служба поддержки имеет доступ к системе поддержки. Для этого биллинг должен знать какие модули имеются в ПО. Далее по матрице прав, которые устанавливает ответственный за это человек, система предоставляет соответствующий доступ.
Аккаунтинг
В веб-приложениях речь о почасовой и тем более поминутной тарификации не идёт, поэтому можно вполне ограничиться установкой времени жизни http-сессии в зависимости от настроек приложения.
А вот учёт модулей внешнего ПО должен быть максимально гибким. Мы должны уметь отрабатывать достаточно сложные сценарии: купили ПО на 10 пользователей на полгода с соответствующей скидкой, через месяц добавили трёх новых пользователей, а потом части из них подключили какой-нибудь новый модуль. Гибко, красиво, функционально.
Что ещё нужно
Дополнительно нам потребуется “админка директора”, который может заводить в системе новых пользователей, активировать те или иные опции продукта и видеть “историю взаимоотношений”.
Где взять такой биллинг?
Насколько мне известно, такого продукта сейчас не сущетвует, но реализовать эту идею может любой более-менее крупный интернет-магазин, имеющий собственный стабильный биллинг и желающий двигаться в направлении SaaS.
