Authorize.net has all the features you may need in order to do one time payments or recurring billing.