Because the grocery store is eating the cost of your one transaction and making it up in volume in the larger purchasesAnd when I buy $2.50 worth of stuff at the supermarket, they don't penalize me. And --GET THIS!!-- neither do any of the normal convenience stores! How do they stay in business?
A store that charges that BS charge is either ripping off the customer or they just suck at business. Perhaps both.
Bottom line if the convenience store is going to lose money on selling you a $1 candy bar because you used a debit card they would rather not sell it to you.