I absolutely agree with your concerns over this school trip, even though it may be more educational than you think.
You do need to go into school and express your concerns, giving all the reasons you have written here, including the cost; you seem to have a good relationship with the school so you are in a strong position to make your point. I would expect that the trip has been arranged by enthusiastic, childless teachers who think they are giving the class a lovely day out, with no idea of the pressures these sort of stores exert. It is unlikely they will agree with you or cancel the trip, but it will give them pause for thought.
Please don't refuse to let your son go; he will have such a boring day and then have to see all his classmates returning with their purchases. If the topic is 'Toys' they should be doing follow-up work concerned with the visit, so he will feel even more excluded. You have very sound ethical reasons for refusing to pay and they cannot exclude your son if you do refuse because it is a class activity in school time.
I think some of these school trips are anything but educational; the children enjoy them but half the fun comes out of going out of class in school time, the trip on the coach, having a picnic lunch somewhere different, and buying something from the shop. The educational part is incidental. The cost is now much higher than parents taking their children individually, and puts a real strain on family budgets.
So please do express your concerns; they are completely justifiable, (but let your son go if you possibly can.)