A roofer who took money from customers for work he never carried out has been fined and ordered to pay compensation.