How to take credit cards online for future payments?
I have a couple of clients that want to take credit card details on their website that they can then bill in the future (one runs courses and users are only billed 4 weeks before their course if they haven't cancelled and one runs a charity and each fundraiser is required to raise at least $3k, anything less than that is taken from their credit card). I totally appreciate they can't/shouldn't take and store the cc data on their own sites but I wanted to check your views on the best solution to do this. Obviously if the users were paying immediately online then it would be fine and any payment gateway could be used however they need to not bill them immediately and
charge the cards an indeterminate amount of time in the future an amount (usually a couple of months later) that can only be established just before payment.
Am I right in thinking that the best way to do this is use some kind of variable recurring payment system (eg WorldPay's FuturePay, PayPal's automatic billing or Authorize.net's CIM service ). These (and other similar services) allow for variable payments (although WorldPay/PayPal seem to be setup for recurring payments rather than one offs).
There also appears to be the option to use a company like http://www.braintreepayments.com/credit-card-storage to store the information. I would be most grateful if anyone could confirm how you generally go about dealing with this situation and whether you use the options i list above or if there's any better/more suited alternatives?