@Doomer
it should be very clear that you can't force someone to buy a product they didn't want or order, the merchant is 100% in the wrong here.
Well that not always true.
The problem here is one of this guy make an error.
If I retake your example.
Craftsman: i want to order product B
Merchant: sure thing
a week later
Merchant: here's product B
Craftsman: i didn't order product B i ordered product A
Merchant: You ask for product B so give me my money !
Here the craftman probably forgot he ask for product B or he was thinking A and said B.
The problem is we cannot know what was the real order so we cannot know who made this mistake.