You probably want to be using Active Merchant, so pick one of the supported gateways. I personally recommend BrainTree. The main thing you absolutely want to know are the requirements of the PCI data security standards. And unless you really, really know what you're doing and are willing to take on the legal liabilities involved, you want to let the gateway handle storage of credit cards. Usually you can send a card number to them, and they'll pass back a unique ID that you can safely store instead. That's really the way to go.
Alternatively, you might consider Google Checkout. There are a certain class of e-commerce problems that are much better solved by outsourcing them to Google. You typically have lower liability with Checkout than with your own custom e-commerce solution, and in many cases, that's a big deal. Plus Google will go to bat on your behalf in the case of credit card chargebacks, which is quite handy.