View Issue Details

IDProjectCategoryView StatusLast Update
0007413module PayPal Checkoutmodule PayPal checkout - subpublic2023-02-13 21:30
ReporterQA Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.1.3 / 1.1.3 
Fixed in Version2.2.3 / 1.2.3 
Summary0007413: oxideshop.log: ERROR_MESSAGE_USER_NOVALIDLOGIN - Order cannot be completed
DescriptionIf you have a shop and a PayPal account with the same email but a different password, you will be stuck on the detail page after the PayPal login without a hint in the shop under certain conditions mentioned below with the following entry in oxideshop.log: ERROR_MESSAGE_USER_NOVALIDLOGIN.

This means that the user keeps going round in circles and cannot place the order.

Steps To ReproduceSteps to reproduce:
0. PayPal Checkout Settings: Show Button on Product Detail Page and Login with PayPal ->
    Log in to the shop automatically during purchase -> is checked
1. Register Account in Shop with different password from the PayPal account
2. Logout and Login with option "Passwort merken -> lgn_cook” value=“1”
3. Delete Cookies and refresh page
4. Go to detail page and klick PayPal Button
5. Login with same email adress but different PayPal password from shop account
6. You always end up back on the detail page without a hint/message and in the oxideshop.log: [2023-01-30 11:55:39] OXID Logger.ERROR: ERROR_MESSAGE_USER_NOVALIDLOGIN

Additional Information- es -
TagsNo tags attached.

Activities

QA

2023-01-30 14:23

administrator   ~0015005

oxideshop.log:
["[object] (OxidEsales\\Eshop\\Core\\Exception\\UserException(code: 0): ERROR_MESSAGE_USER_NOVALIDLOGIN at /var/www/oxideshop/vendor/oxid-esales/[2023-01-30 11:26:30] OXID Logger.ERROR: ERROR_MESSAGE_USER_NOVALIDLOGINoxideshop-ce/source/Core/UtilsObject.php:231)\n[stacktrace]\n#0 /var/www/oxideshop/source/oxfunctions.php(101): OxidEsales\\EshopCommunity\\Core\\UtilsObject->oxNew('OxidEsales\\\\Esho...')\n#1 /var/www/oxideshop/vendor/oxid-esales/oxideshop-ce/source/Application/Model/User.php(1349): oxNew('OxidEsales\\\\Esho...')\n#2 /var/www/oxideshop/vendor/oxid-solution-catalysts/paypal-module/src/Component/UserComponent.php(72):

vendor/oxid-solution-catalysts/paypal-module/src/Component/UserComponent.php(72):
    public function loginPayPalCustomer(\OxidSolutionCatalysts\PayPalApi\Model\Orders\Order $response): bool
    {
        $user = oxNew(User::class);

        if (
            $loginSuccess = $user->login(
                $response->payer->email_address,
                '',
                Registry::getConfig()->getRequestParameter('lgn_cook') <-- Remember password has to be checked
            )
        ) {
            $this->setLoginStatus(USER_LOGIN_SUCCESS);
        }

        return $loginSuccess;
    }

vendor/oxid-esales/oxideshop-ce/source/Application/Model/User.php(1349)
public function login($sUser, $sPassword, $blCookie = false)
        ...
        //login successful?
        if ($this->oxuser__oxid->value) {
            // yes, successful login
        ...
        } else {
            /** @var \OxidEsales\Eshop\Core\Exception\UserException $oEx */
            $oEx = oxNew(\OxidEsales\Eshop\Core\Exception\UserException::class);
            $oEx->setMessage('ERROR_MESSAGE_USER_NOVALIDLOGIN'); <-- Exception
            throw $oEx;
        }
    }