It is legal for them to charge a restocking fee, since as a general matter, a store or other merchant does not ever have to let a customer cancel except and only to the extent that either 1) there is a cancellation policy--in which case, the store can enforce whatever its policy was; or 2) the cancellation was due to something the store did wrong--such as not having the correct product or shipping you one that was damaged. You do not indicate that the store was doing anything wrong, which means that they may enforce whatever their cancellation policy is. Remember: in many cases, if you cancel without a valid legal reason (i.e. store fault), they could try to sue you for the full profit they would have made on the sale, so having to pay a 25% "restocking fee" is actually less than you might have had to pay.