The usual solution is to just do a stored value system; give people a wallet in your system that they can top off in $20 increments, then the actual microtransactions are just a database write.
In practice I don't believe it's true though, as there are very popular (outside the US) payments systems like Satispay the are exactly like that.