Woocommerce баг + ввести таймаут оплаты

L
На сайте с 01.02.2011
Offline
163
246

Здравствуйте, обнаружил проблему на версии предшествующей 7.3.0 (1 или 2 версии перед ним).

Заключается в следующем: если зарегистрированный пользователь доходит до стадии оформления, где ему нужно выбрать метод электронной оплаты и оставляет эту страницу во вкладке - то через 20-30 минут сайт засчитывает оплату автоматически.
Разумеется с пользователя ничего не списывается, просто подобный "повисший" во вкладке заказ, автоматом оформляется системой WC до конца и ему присваивается статус выполнен. Сам процесс перехода на стадию электронной оплаты, ввод данных карты и тд при этом игнорируется.

Я сначала сам не поверил, но воспроизвел проблему неоднократно с самых разных браузеров (чистых). Проблема не возникала если пользователь НЕ был зарегистрирован.
т.е. если речь идет о виртуальных товарах, то пользователь бесплатно получает ссылки на скачивание.

После обновления до 7.3.0 проблема ушла, но некие подозрения остались.
По этому вопрос следующий: возможно существует некий плагин, создающий таймаут для оформления заказа.
Ну к примеру: пользователь попал на страницу оформления, ввел данные и бросил так вкладку, по истечении 5 минут силами плагина - эта вкладка должна быть закрыта или очищена или что то вроде того.

И вопрос общий: возможно кто то еще сталкивался с подобным? в чем еще может быть проблема?
из сторонних плагинов используется:
Related Products for WooCommerce
Saphali Woocommerce Russian (планирую заменить)
Side Cart WooCommerce
Cyr-To-Lat
Эквайринг от сбера


Samail
На сайте с 10.05.2007
Offline
364
#1
Linblack :
просто подобный "повисший" во вкладке заказ, автоматом оформляется системой WC до конца

Но заказ создается после выбора способа оплаты и нажатия на Оформить заказ. Откуда "повисший" может взяться? Если только вы сами меняли функционал.

L
На сайте с 01.02.2011
Offline
163
#2
Samail #:

Но заказ создается после выбора способа оплаты и нажатия на Оформить заказ. Откуда "повисший" может взяться? Если только вы сами меняли функционал.

никаких вмешательств в код не было 100% (func php в том числе). в панели настроек wc некоторые изменения были, на какие именно обратить внимание?

вы немного вперед забежали.
есть стадия "оформление", где пользователь вводит свои данные и выбирает оплату (на этой стадии вкладка бросается). если следующая стадия - подтвердить заказ, где пользователь уже вводит данные карты, до этой стадии он не доходит.
если мы бросаем товар на стадии оформления, wc не создает новый заказ в списке. новый заказ создается в процессе перехода на оплату, но до нее в нашем случае не доходит (исходя из тестов).
Samail
На сайте с 10.05.2007
Offline
364
#3

Я никуда не забегал. Способ оплаты выбирается на странице оформления и пока не выберешь и не нажмешь на оформить, заказ не создастся.  Если уже после перехода на страницу оплаты ничего не делать, тогда заказ будет висеть в статусе "on-hold" пока не оплатят. Но если в настройках вукоммерц, в Товары -  Удержание запаса (мин.) указано количество минут, тогда через это время заказ отменится. Теоретически может по каким-то причинам вместо Отменено ставиться статус  Выполнен если что-то намудрили в коде.

Linblack #:
никаких вмешательств в код не было 100%
Linblack :
из сторонних плагинов используется:

Любой плагин может  вмешаться в работу Вукоммерц.

L
На сайте с 01.02.2011
Offline
163
#4
Samail #:

Я никуда не забегал. Способ оплаты выбирается на странице оформления и пока не выберешь и не нажмешь на оформить, заказ не создастся.  Если уже после перехода на страницу оплаты ничего не делать, тогда заказ будет висеть в статусе "on-hold" пока не оплатят. Но если в настройках вукоммерц, в Товары -  Удержание запаса (мин.) указано количество минут, тогда через это время заказ отменится. Теоретически может по каким-то причинам вместо Отменено ставиться статус  Выполнен если что-то намудрили в коде.

Любой плагин может  вмешаться в работу Вукоммерц.

в общем проблема все еще остается. но теперь на следующей стадии.

Значит условия следующие: не важно в аккаунте мы или создали новый профиль.
Мы добавляем товар в корзину, заполняем данные для оформления (или оставляем как есть, если уже регистрировались), выбираем форму электронной оплаты (в моем магазине это сбер), нажимаем "подтвердить заказ" и нас кидает на страницу сбера.
На этой стадии WC создает в списке новый заказ со статусом "ожидает оплаты".
Данные карты на странице сбера мы НЕ вводим и просто закрываем вкладку. через 10-15 мин на почту клиенту приходит ссылка на купленный товар, а WC меняет этому товару статус на "выполнен".

ps я заменил  Saphali Woocommerce Russian на Checkout Field Editor for WooCommerce. 

L
На сайте с 01.02.2011
Offline
163
#5
у товаров стоят свойства "виртуальный" и "скачиваемый". это полагаю очевидно, но на всякий уточню.
Все настройки WC дефолтные
Samail
На сайте с 10.05.2007
Offline
364
#6

Может с колбеками от сбера что-то не то не правильные приходят или неправильно обрабатываются. 

Или всё таки  где-то что-то добавляли типа такого:

https://woocommerce.com/document/automatically-complete-orders/

Automatically Complete Orders
Automatically Complete Orders
  • woocommerce.com
Add code to your child theme’s functions.php file or via a plugin that allows custom functions to be added, such as the Code snippets plugin. Avoid adding custom code directly to your parent theme’s functions.php file as this will be wiped entirely when you update the theme. You could also change the “Completed” status to […]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий