Actually it's more spectacularly stupid design than merely asshole design.
Risking losing potential customers at the last step of the customer acquisition pipeline is incredibly idiotic - from the beginning of said pipeline (for example, an advert being shown to a person) until the end (the customer actually pays for something they bought) there's can be a ridiculous percentage of potential customer which drop of (something like 99.9%+ if it starts at "show advert")
As for somebody that's confronted with this at a checkout, just drop that shopping cart and go somewhere else (also valid in real life when you're at the till and they do something shitty - just drop it and walk away) since that's literally the point were shunning that store does them the most damage.