I don't see which problem this solves.
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.