Here in Portugal, we have a system that allows us to create a virtual card, which has in it the amount of money we specify. Once you pay, it disappears, and no more charges can be made. And it functions as any card i want, either visa, mastercard, etc.
Here its called MBnet, and we can sign up for it in any bank. Might be a good option if it existed there...