In the latest installment of MSDN Magazine "Toolbox", Scott Mitchell wrote a few paragraphs about how a developer can add to his applications/websites the ability to accept online credit card payments. The process does seem complex and a bit intimidating at first, but with the right tools it can be pretty easy.
Scott points his readers to Authorize.Net (Internet payment gateway through which one can process the charges), and also mentions the availability of some third-party shopping cart products that support Authorize.Net. He did not mention any specifically, but one such product is IBiz E-Payment Integrator, which supports not only Authorize.Net, but also over 40 other Internet payment gateways, all through the same API so that if you ever need to switch gateways you don't have to re-write all your code (this product is also available for other development environments besides Visual Studio).
You can find more information about how to get started accepting credit card payments on your website or in your application in this IBiz E-Payment Integrator tutorial, which also mentions how you can by pass Internet payment gateways altogether and communication directly with the processor. And if you want to be able to accept PayPal as well, look no further than the IBiz PayPal Integrator.