On 3 I could see the api just redirecting back to the app. And 4 is retained for future backup?
Just to share how this is made smoother somewhere else in the world: App displays QR code on screen either on webpage or in-store POS, user scans QR code, payment is made and funds transfered instantly.