Rare is the problem that legislation actually solves.
And
People don't want to pay for apps with money, they "just want them". So they pay with their data. The problem here isn't with the transaction, the problem is people are in the dark with what they are actually paying with.
Companies are allowed to do this. Their TOS protects them.