The obvious solution is to have users buy a proxy currency that goes in a wallet that is then spent in frictionless (and fee-less) microtransactions. Many video game companies use this model, albeit for their own scummy monetization systems, but I don't see any reason why it couldn't work here - is there a reason you're not considering it?