Why is it better than the standard way that is being used now? I mean, the shop generates a new BTC address and displays its QR code after your step 1, the customer scans it, its mobile phone makes a transaction. All right, internet connection in the phone is required, but that is almost a given nowadays.
When I was thinking about this, I was thinking along the lines of those not wanting to delve into smartphones, computers too much and learn about Bitcoin wallets. i.e some of the older generation that may want to just pop down the shops with there BTC card to get some milk.
The "rest of us" are happy to use Bitcoin as-is. There's no problem there.
Interesting points about the security too - clearly the "PIN" option may not be viable.
Everyone is on a club savings card of some sort (in the US anyways). Hard to be pseudoanonymous at your neighborly, once-a-week-visting grocery store.
A loyalty card of sorts would just add an extra step in the middle. I was hoping to figure out a way of keeping this "purely Bitcoin", keeping the transaction between you and the shop.
Maybe something linked to an online wallet like Blockchain.info, that you can access at the shop via QR code (for username) and PIN (for the password). But even then you're relying on leaving private keys with a 3rd party.
Hmmm. Back to the drawing board I think.....