Here is a brief explanation of the difference between these terms.
"Kaufen" means to buy, in the most general and non-specific sense. "Einkaufen" means to shop, or to purchase something by shopping. As we would say, "I shopped for shoes today." "Aufkaufen" means to "buy up," or to purchase a lot or all of something. "Ankaufen" is used rarely. It means to "purchase", but also in the sense of to "acquire", as we would say in English that someone "acquired" a piece of land. Ankaufen is not commonly used, at least to my knowledge.
All such verbs will take the accusative.