On the official documentation for the payment API says that:
A user decides to buy something and the user presses that button. After that, the user is redirected to the Waves.Exchange app with a payment parameters window.
But if the user is not logged in the page is the same as the initial, so it confuses the client who is trying to pay. Maybe if it detect the GET parameters it should redirect to a login page.
Documentation: