@gamingonlinux
I'm fairly confident that in the EU, and still AFAIK in the UK, this wouldn't be legal. In the UK this is the Unfair Contract Terms Act. The EU legislation is linked below. The schedule of unfair term includes
(d) permitting the supplier to retain sums paid where the latter decides not to perform the contract, without providing for compensation of an equivalent amount from the supplier where the latter is the party cancelling the contract;
https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:31993L0013