Я создаю новое приложение SaaS и хочу следовать принципам DDD.Где «Биллинг» принадлежит проекту DDD php?
Im на этапе, когда Im набросал идеи, и я столкнулся с этой проблемой. Я надеюсь, что люди могут дать мне несколько мыслей. Я не думаю, что в этом есть право или неправильно. Но я люблю слышать ваши мысли ...
По сути, я не уверен, где Биллинг принадлежит и как его наилучшим образом реализовать.
Я не знаю, должен ли пользователь знать интерфейс биллинга. Обязанности пользователей должны выполнять выставление счетов?
Я думаю, что это справедливо для пользовательского объекта, чтобы узнать, есть ли у них подписка, но не как ее реализовано.
На этом этапе Im думает, что на уровне домена будет указываться BillingInterace, и реализация будет жить на уровне инфраструктуры. (Для начала используйте Stripe)
Вы создали бы биллинговую службу и передали бы пользовательский объект для создания учетной записи пользователя на полосе и выполнения функций биллинга?
Или бы вы закодировали черту, которая попадает на пользовательскую сущность, чтобы пользователь мог сам выписать счет ($ user-> charge() - или что-то еще).
Надеюсь, что имеет смысл. Я просто ищу, чтобы бросить некоторые идеи, поскольку я не могу найти приличное руководство онлайн с этим материалом.
Спасибо! Ли
Спасибо за ответ! Да, я согласен с тем, что не пользовательская работа оплачивается. Они должны иметь некоторое представление о статусе подписки, но не о том, как это работает за кулисами. Бизнес занимается выставлением счетов, только в том случае, если неоплачиваемый пользователь не получает предлагаемые услуги. Но это не работа с доменами, чтобы беспокоиться о том, как это делается, только чтобы это можно было сделать. –