Of course the gas stations/ grocery stores are doing it for the write off. That time with the customer is valuable. It still raises a bunch of money for the charity though If you don’t like the charity say no thanks and if you do then pay extra. I usually say thanks for asking because i know it’s not the easiest thing to do as a cashier. The lazy way is to not ask. Just my opinion and Would you like to donate a $1 to my checking account?
There's just no reason not to extend some kindness or at the very least act fucking decent to someone who hasn't proven they don't deserve it. It's not the cashier's fucking idea. JFC.