First of all, it's the Federal Reserve, not congress, who is limiting transaction fees. Second of all, 12 cents is not an unreasonably low cost for a transaction. The payment networks cost virtually nothing to operate, and this becomes abundantly clear when you look at the profit margins of companies like Visa and MasterCard, which are higher than virtually any other company out there.
There is very little innovation in payment networks. There are established players -- Visa and MasterCard -- who charge merchants 1% or more of every purchase made. They pass along much of this money to banks, and payment networks essentially end up competing on how high their fees can possibly be so that banks choose their brand of card. And because the payment networks demand that merchants charge the same price for cash or card, retailers are forced to increase their prices for consumers who pay in cash.
If there were real competition, we would see payment networks competing to lower their fees. But you don't see that.