Walmart and Chicago are both places, but we use different prepositions to refer to them. From this article on them:
Prepositions of Place: at, on, and in
We use at for specific addresses.
Grammar English lives at 55 Boretz Road in Durham.
We use on to designate names of streets, avenues, etc.
Her house is on Boretz Road.
And we use in for the names of land-areas (towns, counties, states, countries, and continents).
She lives in Durham.
Durham is in Windham County.
Windham County is in Connecticut.
Because Walmart is a specific place or address, we say that someone shops at Walmart. However, since Chicago is a land-area, we say that someone shops in Chicago.
Both prepositions are equally valid, and in practice mean exactly the same thing when connecting the verb to buy to an acceptable price.
At is usually called a Preposition of Location, but in OP's context it's being used metaphorically to specify some particular point on a "range" of prices.
For is a bit more "generic", so I don't know if it falls into any particular sub-classification. It's often used with verbs like call, hope, look, wait, watch, wish, where it has some sense of purposely selected. Similarly, in OP's usage it has something of the sense of focussing on some specific value.
The only context I can think of where you might need to think about it is in, for example,...
"I bought this turkey at a good price at Tesco's" (1,970 similar usages in Google Books)
"I bought this turkey for a good price for Christmas dinner" (780 instances in Google Books)
...where the only reason would be that stylistically you'd want to avoid two instances of the same preposition being used in different ways in the same sentence. In the first case you could change the first one to for and/or the second one to from. Something similar in the second case, except I can't think of any suitable alternatives having the required "purpose" sense (concerning, regarding, per are all close, but don't quite work with Christmas dinner).
Best Answer
Usually, for a normal everyday situation, you'd use for
However, at can be used when the price is volatile, for example in case of (electronic) commodity trading or an auction.