Hi,
I bought the shirt for $20. This is the normal wording.
I bought the shirt at $20. This is wrong, unless you are speaking in a context where prices vary a lot.
eg The price of gas keeps changing. I bought some today at $1 a litre.
The two above were found to be used, for was seen more though.
how are they different in meaning and wonder