Полностью удержать предоплату нельзя. По ст. 32 Закона о защите прав потребителей клиент вправе отказаться от услуги в любой момент, оплатив только фактически понесённые расходы — те, что вы документально подтвердите (закупка материалов, бронь подрядчиков и т. д.). Условие в договоре о «невозвратной предоплате» малозначимо и не защищает в суде.
Единственный рабочий вариант — оформить платеж как задаток в отдельном письменном соглашении (не в чеке, а именно в договоре). Тогда при отказе клиента задаток можно удержать полностью (ст. 381 ГК РФ). Но с потребителями-физлицами суды часто встают на их сторону даже при формальном задатке, так что надёжнее прописать в договоре конкретный перечень расходов, которые вы можете удержать.