Все просто, для логики - сервисы. да.
В моделях оставются всякие рилешены, мутаторы, я туда так же сую проверки простые, типо checkIsPaid()
Ничего страшного, что сервис знает о модели.
А данные в сервис пердавать желательно через DTO, также видел некоторые реквесты передают, но не массивом или списком агрументов.
Репозитарий обычно не нужен если используете элокуент. Репозитарий нужен как поддержка разных испочников данных. типо если у вас есть елокуент и докрин или вобще какое-то сторонее апи, то описывается интерфейс репозитария и уже для каждого источника реализуется по разному.
Если у вас только элокуент, то по сути репозитарий будет повторять вашу модель. вобщем шило на мыло. элокуент грубо говоря репозитарий для разных БД