First, "What did you buy?" it's simple past, only actions that happened in the past.
Second, "Have you been shopping recently?", is something that I bought in the past and keep paying in the present?
We use the past simple for defined finished periods of time, such as 'when I was a child', at 2 o'clock, 'last week', 'yesterday', 3 weeks ago.
We use the present perfect for unfinished ( or 'open' ) periods of time, such as 'since 2 o'clock', and 'in my life' .
In your sentence we use the present perfect because of the word 'recently'. 'Recently' is seen here as an 'open' period of time, because it includes all the last few days or weeks, perhaps from when I last saw you up until the present time.
It's not the shopping experience which is still going on - it's the time period (recently) which is still current. That's why we use the present perfect.
I hope that helps.