No, a shop cannot refuse a legal tender. Legally it should be accepted. Hence it is known as legal tender. However, there is no obligation to legally accept a non-legal tender.You can read about the RBI – Know More About Reserve Bank of India in the given link.
Further readings: