I just bought things from walmart and have never cancel the order. You may call their after-sale service department and ask for the detailed time of refunding your money. The telephone number can be found online. Actually, walmart is really a good place for you to buy things which owns the good after-sale service system.
Well, looks like you really do not want that pair of glasses. Typically speaking, it takes about 10 working days before they return the money to you. But it is possible that you will not be refunded due to their careless work. So, what you should do is to ring them up from time to time, just try to ask for early refund, and perhaps you will get your money back as soon as possible. OK? Anyway, we cannot change other people, but we can do everything more positively and get what belong to us, right? Hope you get your money in no time.