There are many shopping cart software that has the features you want. You could choose Magento, osCommerce, or xcart. They are not free though. But if you are still having a hard time choosing, I would suggest you should visit shopping cart software comparison for reviews and further evaluation. They the comparison of shopping carts with detailed information and accurate too.