При обращении одного из наших клиентов с проблемой в чекауте вот какую информацию мы раскрутили.
Проблема заключалась в следующем: при оформлении заказа в режиме инкогнито в поле номера телефона постоянно подставлялся один и тот же номер.
В зависимости от настроек чекаута, есть возможность оформлять заказы от таких незарегистрированных пользователей на анонимного пользователя.
Определяется он методом CSaleUser::GetAnonymousUserID(), им же он и создается, если не находит такового.
Создается с e-mail'ом по правилу
$anonUserEmail = "anonymous_".randString(9)."@example.com";
Хранится id анонимного пользователя в опциях модуля sale
COption::GetOptionInt("sale", "anonymous_user_id", 0);
Как следствие первое оформление заказа создаст для этого пользователя профиль и в последующем он будет использован для большего "удобства" клиентов. А тот первый "счастливчик", который оформив заказ первым предоставил свои данные для всех остальных, будет еще долго радоваться письмам и смс-кам, если они как сервис интегрированы в систему.
Мы решили проблему, подвесившись на событие "OnSaleComponentOrderResultPrepared" модуля "sale".
Данные актуальны на момент написания статьи, версия битрикс 2016 год.
Непредсказуемое поведение чекаута битрикс
битрикс
Клиент попал в неприятную ситуацию с постоянной рассылкой.
Комментарии