I want to let my users purchase multiple courses, podcasts, digital media and go through one checkout process.
The user should be able to then log into Moodle and be registered for the courses they purchased.
I have no idea what Moodle is. It DOES appear you have your providers confused. You need three separate providers all working together (1) a merchant account (2) a gateway and (3) a shopping cart. Individually these solutions do nothing--together they enable an ecommerce system.
Authori8ze.net is a gateway, not a cart, not a merchant account.
Amin- Nobody can make an intelligent cart recommendation without having lots more info. Where you are located. What and how you sell. That sort of thing. Also, I think you are about to create a very big headache for yourself by putting the cart before the horse. By that I mean you are creating a compatibility nightmare. Authorize.net may or may not work with whatever merchant account network you select, and since getting written for a merchant account will be your hardest challenge, you need to set up THAT first, then based on that selection move onto a gateway and cart---not vice-versa as you are doing.