Юридически это можно делать с 6 лет. Согласно ст.28 ГК РФ:
Покупка продуктов это мелкая бытовая сделка, то есть ребенка с шести лет, формально уже можно отправлять в магазин за бутылкой молока.
Другое дело, готовность ребенка. Одни дети к этому моменту уже достаточно самостоятельны, а другие и к восемнадцати слишком не приспособлены. То есть нужно учитывать личностные особенности малыша.
Нужно учитывать и особенности окружения, обстановку в месте проживания. Одно дело отправлять ребенка за этим самым молоком, в деревне, где все друг друга знают, и другое в городе миллионнике, где у него просто могут отобрать деньги, а его побить.
Но если ребенок готов, с коммуникацией у него все в порядке, сможет спокойно поговорить с продавцом, оплатить товар, то с шести лет вполне нормально. Чтоб приучить к этому можно вначале применять очень простой прием. Заглядываете в магазин "по пути", купить ему же мороженое. И когда уже подошли к кассе, "вспоминаете", что Вам надо срочно позвонить. Даете ребенку 50 рублевую купюру, говорите: "Ты пока оплати, мне срочно позвонить надо". И пока Вы разговариваете, стоя почти рядом, ребенок "расплачивается". Конечно, продавщица сморит на Вас, а ребенок чувствует Ваше присутствие рядом. Но первые навыки он получает.
В общем, юридически с шести лет. А в жизни еще и готовности ребенка.
P.S. Не давайте малышу банковскую карту.