The Problem

In some payment implementations(e.g: Mollie), the payment happens outside of the current domain.
Due to this, the programmatical way of login the user - fails.
The problem is that the function user_login_finalize() is always called which will reset the session for the newly created user AND this will bring us to the problem that the reset password link sent in the email earlier is not valid anymore.

Solution

Add configuration ability either to login or not the user after the checkout so the user_login_finalize() is not called.

Comments

hugronaphor created an issue. See original summary.

hugronaphor’s picture

Status: Active » Needs work
StatusFileSize
new1.34 KB

Adding a patch controlling this with the variable ccl_login_user_on_checkout as proof.

t-lo’s picture

Status: Needs work » Needs review
StatusFileSize
new1.46 KB
new987 bytes

Confirmed this fixes the above issue but I found that this caused the following issue:
Users filling in the checkout login form were not logged in

So, I've changed it to only take affect on the newly registered users.

matthiasm11’s picture

Using the patch from #3 with beta2.

christianr4’s picture

Using the latest patch doesn't resolve the issue for me. The one-time URL always refers to the password reset page. Do I have to change anything else next to applying the patch?

hugronaphor’s picture

@christianr4, did you set the variable to FALSE?

variable_set('ccl_login_user_on_checkout', FALSE);
or
drush vset ccl_login_user_on_checkout FALSE