To accept credit cards, you first need a Merchant Services Account. Merchant Services Accounts may be offered by your bank, credit card companies or dedicated service providers. They are actually responsible for transferring money from the credit card companies to your bank account. If you already accept cards at your business then you have a Merchant Services Account.
Your website actually talks to the Payment Gateway. The slideshow to the right does a great job of showing you how a transaction is actually processed. Authorize.net is the Payment Gateway in this example. We prefer and recommend Authorize.net because it offers lots of features and it's easy to work with. However, CFWebstore will work with a number of Payment Gateways including EZIC, Skipjack, Verisign Payflow Pro, Linkpoint, SkyPay, Shift4, USA ePay and PayPal Pro.
Since you're sending important information to another website, you'll need to secure that information with a SSL (Secure Sockets Layer). This encrypts the data (credit card, customer info) and sends it in a way that only the key holder (Payment Gateway) can understand. You know the website is secure when you see "https" in the URL.