If our government had not become so corrupt, and the wireless carriers not been among the bigger corrupting influences, the solution to this would be very simple. We could simply bar common carriers from billing on behalf of third parties. There is no legitimate reason why this practice should not be outlawed.

But the wireless (and wired) carriers have legislators in their pockets and this is profitable for them (as if their profits are not sufficiently obscene already), so this is difficult to achieve unless a groundswell of popular opinion can be raised against the practice sufficient to result in the defeat of the legislators they've bought, or at least to instill the fear of such defeat.

If you want to sell something, then charge your customer and have that customer provide payment information directly. Don't permit the phone company to do it for you.