We're absolutely allowed to reject payment, for any reason. Stores can accept whatever form of payment they so wish to accept.
This'd never have went past the GSTL in our store. No LOD would have been called over, the guest would have been told that the GSTL was the manager and that'd have been the end of it, if they wanted to tell us we had to take their payment they'd have been escorted from the premises.
The most common scenario where pennies and such MUST be accepted is if paying for a meal after eating it.
If someone owes you a debt, you must accept any attempt to pay their debt with legal tender, but at the time a customer attempts to purchase something in a store they do not owe the store a debt so the store doesn't have to accept any form of legal tender they don't wish to take.
Even restaurants and rental businesses can technically refuse to accept pennies, but it must be made clear to the person incurring a debt that that is the case prior to the debts inception. If a restaurant does not inform you that they don't accept pennies as payment before you consume a meal they must accept any attempt to pay for it in pennies.