In my experience paying a deposit when checking in, even when you've already paid for the room, is very common. The deposit is to cover things like room service charges, use of the mini bar, etc. If you don't use it then they cancel it with your credit card company and you don't actually get charged. Having said that, £150 is definitely a bigger deposit than I would expect and only taking mastercard is unusual.