When you buy with a debit card, if the transaction is an ONLINE transaction the retailer will verify that you have funds available as part of the transaction. That doesn’t mean that the funds are actually available when the debit hits the bank.
What some retailers do is to ‘freeze’ an amount (that may be less than or more than) the actual transaction amount to make sure that funds are available. In practice this could mean that the consumer has part of their available account balance frozen so that the retailer is guaranteed to get paid–and this pisses off most consumers.
What about automatic payments? Do you want the bank bouncing your utility bills, cell phone payments, gym memberships, car payment?
That’s fine, deny the electric bill and then the consumer can pay the late charge to the utility rather than an overdraft charge to the bank. That WILL happen. I guess that you’ll have to start tilting at a few other windmills beyond the banks for being ‘greedy’ when they balk at not getting paid on time because your account is overdrawn.
I should also mention that many consumers don’t like to have their purchases declined at the POS both from the inconvenience factor (maybe they have no other card to use or no cash–which means they have to just walk away from the register and leave their goods) as well as from the embarrassment factor of having their purchase declined in front of other customers in line. It seems that the very people that don’t want to have to pay an overdraft fee also don’t want their purchases declined at the POS. What’s a bank to do? Some conundrum.