By my understanding, in the US, typical merchant fees to accept a card are a flat $0.20-$0.30 transaction fee, plus 2-3% of the total dollar amount.
The article mentions the interchange fee (the 2-3%), but for small purchases the transaction fee is more significant.
I assume the majority of purchases are individuals buying a single beverage. If an average drink costs $4, a $0.30 transaction fee alone is eating 7.5% of your gross revenue. That's an absolutely huge amount.
Even if Starbucks cards are bought/topped up with a credit card, that $0.30 fee is being amortized over $20+ worth of product instead of $4 worth.
I also figured this tied in with Starbucks' contract with Square some years back - as one of Square's value props is eliminating the per-transaction fee for credit cards. Not sure why that was cancelled, though.