I apologize if I've been a bit gruff-sounding about these questions. They are in fact reasonable questions. If I sound frustrated, it is likely because payment gateways are pretty frustrating to work with. I've yet to see any really good php sdk's for a payment gateway, and the payment gateways themselves tend to be elaborate and their documentation is messy. This is partly because collecting money is complicated:
payments sometimes go through no problem
sometimes they fail with no good information about why they failed
sometimes payments later get refunded due to a charge dispute or other reasons
sometimes the payment gateway puts the payment on hold
payment gateways support both authorizations which just check if the money is available (e.g., if you were checking into a hotel) and also auth-and-capture where you check for the money and then take it from their account
payment gateways have their own complicated account settings: do we have to verify the billing address? do we have to collect the CVV code on the back of the card? etc.
* payment gateways can respond with dozens of possible response codes. Authorize.net's API returns something like 320 "response reason codes".
There's also the fact that the internet evolves rapidly. What is secure today probably won't be in five years. Payment gateways tend to make changes to improve security like the ones I was inquiring about here. Paypal has numerous "products" which tend to require different interactions with their API and they have different versions of their API which have different requirements and peculiarities. Just finding the right documentation on their sprawling website documentation is kind of a crapshoot.
If I were to suggest a broad approach to taking payments, I would first choose a few "major" providers (Amazon, Authorize.net, Google, Paypal) and try to compare their costs and prerequisites (like setup fees, you might need a particular kind of business bank account, you might need a securly hosted website, etc.) and then once you find one that looks suitable from a business standpoint, then try to find the latest SDK and start to figure out how to actually use the beast. In my experience, it's nearly impossible to get any reasonable customer support directly from any of those companies except Authorize.net.
If your site doesn't support HTTPS access, that's a major consideration because you'll need to redirect customers to your payment gateway's website to make the payment and then they redirect back to your website. You need to be careful collecting sensitive information. It should only be collected if the site is securely hosted (HTTPS) and you should never store this data unless you take extensive measures to protect it. Note that paypal has its own shopping cart approach where you can just put 'add to cart' buttons on your site and paypal maintains the shopping cart data. Authorize.net has Simple Checkout or something like that.