This problem is solved in countries where bank transfer based online payments are popular. With such payments customers authorize a single money transfer to the seller for an exact sum of the transaction, instead of trusting the seller with a credit card data that can be then used to make any transactions.