Я в проектах использую модуль который меня полностью устраивает у моего партнера
https://www.cs-commerce.com/ru/one-page-checkout.html
С кучей разных настроек там есть не обязательный емаил и что мне нравится то что можно настроить поля в зависимости от способа доставки. Допустим что человек выбрал самовывоз поле адрес доставки уже не нужно и тд. и много всего. Уже давно читаю тему может вам поможет и вопрос закроется.