mollie / magento2

Mollie Payments for Magento 2
https://www.mollie.com
Other
101 stars 52 forks source link

Sense of "Use loading screen" unclear #570

Closed HenKun closed 1 year ago

HenKun commented 1 year ago

Describe the bug

It is not crystal clear why this option exists and what the purpose should be.

  1. The comment states: Use loading screen before redirect. This will enable mobile users to use the back button. It is unclear why mobile users should not be able to use back button without the intermediate loading screen. They would simply be redirected to the Magento checkout

  2. If the user chooses a mollie method and hits "Place Order" they are redirected to the intermediate loading screen and after one second redirected to Mollie payment page. For some milliseconds two buttons Back to checkout and Proceed payment appear, which cannot be read or clicked, due to the fast redirect.

  3. If the user hits back button on payment screen, they are redirected back to the intermediate loading screen, where "Redirecting to mollie" appears for 1 second, and two buttons Back to checkout and Proceed payment are presented for some milliseconds, before the user is automatically redirected to the Magento checkout. In which case do these buttons matter, since in every case the page is left after 1 second, due to the javascript at the bottom of the phtml file. Why is the user shown "Redirecting to Mollie", when they are actually redirected to the Magento checkout?

  4. The getBackUrl which in turn uses getRestartUrl is only used within the Back to checkout button, which will never be clicked due to the short display period.

So what is the intended customer flow of the loading screen, and most importantly: Should i enable or disable this feature?

Update

The whole code for redirecting to Mollie and going back to Magento is confusing and not correct, imho. If I enable "use loading screen" the customer is redirected back to the Redirect controller, if he hits the Back button. There, on line 127, another transaction is started, although the customer is redirected back to Magento and just canceled the operation. This cannot be correct. Furthermore, the behavior between going back by hitting the Back button and clicking on "Back to payment methods" on Mollie Payment screen is different.

In my opinion, the way to go with an intermediate page is correct, but

  1. ~The loading screen is superflous, why delaying the redirect by 1 second instead of immediately redirecting. Time is money.~ The 1 second delay seems to circumvent browser history manipulation protections introduced by browsers, so it seems to be necessary.
  2. Enable intermediate page always, no user choice. This simplifies the development and makes behavior consistent. Furthermore the developer does not have to think why and when to enable or disable this feature.
  3. Going back with Back button and going back by hitting "Back to payment" methods should result in the exact same behavior, regarding restoring quote and showing "canceled" notices.

Used versions

To Reproduce Steps to reproduce the behavior:

  1. Enable "Use loading screen"
  2. got to checkout and choose a mollie method
  3. Place order
  4. Page is redirecting to intermediate loading screen
  5. Redirecting to actual payment screen
  6. Hit back button to go back to loading screen and finally to Magento checkout

Thanks for considering.

Frank-Magmodules commented 1 year ago

Hi @HenKun ,

We've investigated this and based on that, removed the loading screen as it is obsolete within the later Magento versions.
So we are happy to share that we've just released the new 2.18.0 version with this correction.

Thank you for opening this issue and for the detailed issue report.
We are closing this issue now but please feel free to reopen the issue if you still have questions.