Processors have upstream costs to Visa/Mastercard/etc that are charged in similar ways. The idea behind them using a percentage is that it relates to the risk. The more you spend, the more could be fraud and might need to be written off. The $0.30 is effectively a lower bound to stop micropayments. Otherwise people could do a $0.10 transaction and only pay $0.003. This could be to avoid system load.
While it might seem expensive, until a few years ago, taking card payments required getting a merchant account at a bank with high monthly fees which could take months. Now you can pay similar rates but without the misery of dealing with the banks.