It's probably paid for by the better fee structure on payment processing: credit card processing is generally a base fee + a percent of the purchase. By having people put $20 on a Starbucks card once rather than making 5 different $4 transactions, they reduce the fixed charge they incur by 80%.