Что нужно описывать в классах?
С технической точки зрения это вообще не принципиально. Всё ООП это про логические связи. Если вы считаете, что это клиент покупает товар, то делайте метод клиента. Если же это магазин продаёт, пусть метод будет у него. Да можно хоть в кассовом аппарате, главное, чтобы вы понимали что да как и вам было удобно.
Не важно, где это реализовывать. Можно даже целый отдельный класс для описания процесса покупки сделать .
Так что делай там, где лично для тебя логичнее и удобнее