I've used Verisign Payflow pro with classic ASP. My host had that compononent installed. Also used the Payflow (basic) with a simple order form, which is fine for basic stuff, but the payments are take offsite, then redirected back to you.
For .NET currently I'm setting up a site with Authorize.Net and using the E-payment intgetgrator component from nSoftware ($99 for single server, single gateway). I was going to go with the .netcharge but this was cheaper and a bigger company.
The component is pretty straight forward though I've also heard good things on the .netcharge. I've been dealing alot with credit card issues lately so If you have any specific questions let me know. One issue I'm currently is dealing with is international (from the USA point of view) cards and the liablity when crossing borders with your transactions. Paypal can be intergrated without using their cart, but it does require that you redirect users away from your site temporarily to get their money.