Поддержка WooCommerce Проблема со складскими остатками

  • На сайте установлен плагин оплаты от Тинькофф. В данный момент при оформлении заказа происходит следующее — человек нажимает кнопку «Оформить заказ» и его перекидывает на страницу оплаты Тинькофф. Если человек не оплатит заказ и закроет форму оплаты, то заказ все равно создастся на нашем сайте со статусом «В ожидании оплаты», также содержимое его заказа спишется из складских остатков. В настройках Woocommerce указано, что неоплаченные заказы должны автоматически отменяться, если они не оплачены в течение 30 минут. Но при переходе заказа из статуса «В ожидании оплаты» в статус «Отменен» не происходит возврат в наличие складских остатков.

    Таким образом, если человек не произвел оплату товара через платежную форму и просто закрыл ее, то складские запасы все равно уменьшаются и в дальнейшем приходится каждый раз в ручную их восстанавливать. Просьба помочь с решением проблемы, как можно осуществить автоматический возврат товаров в складские остатки? И почему это не происходит?

    Заранее спасибо.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Просьба помочь с решением проблемы, как можно осуществить автоматический возврат товаров в складские остатки? И почему это не происходит?

    Это штатное поведение. Для автоматического пополнения запасов вы можете использовать плагин или фрагмент кода.
    Попробуйте этот плагин, вроде бы он выполняет что вам надо.

    Подробнее можно посмотреть здесь:
    https://github.com/woocommerce/woocommerce/commit/70c9cff608761fcd48b57f709059e00b1ffeee38#diff-27a48ce67fa604181c90b4bb464164ac

    Попробовал оба варианта. К сожалению, оба варианта не решают проблему. Автоматическое пополнение запасов и так корректно работало, если происходит переход из статуса «На удержании» в статус «Отменен» — тогда происходит автоматическое пополнение складских остатков. Но если производить переход из статуса заказа «Ошибка» или «В ожидании оплаты» в статус «Отменен», то пополнение остатков не происходит.

    Получается абсолютно нелогичное поведение Woocommerce, он может пополнять складские остатки заказов, которые находились в статусе «На удержании», но он не может пополнять остатки заказов по которым не прошел платеж. Зачем тогда происходит списание складских остатков, если заказ еще не оплачен?

    Получается абсолютно нелогичное поведение Woocommerce, он может пополнять складские остатки заказов, которые находились в статусе «На удержании», но он не может пополнять остатки заказов по которым не прошел платеж.

    Это скорее баг вашего платежного шлюза.

    Хуки, которые используются для возврата на склад, можно посмотреть здесь: http://cld.wthms.co/7b0H8B

    Попробуйте добавить свой, используя ту же логику. Например:

    add_action( 'woocommerce_order_status_pending_to_failed', array( $this, 'restore_order_stock' ), 10, 1 );

    Если честно не совсем понял куда именно необходимо вставлять данный код? Если я правильно понял, то непосредственно в платежный шлюз.

    Я сделал вот так, но это никак не повлияло на пополнение запасов после перевода заказа из статуса «В ожидании оплаты» в статус «Отменен».

    https://yadi.sk/i/TFv4njXHH7sjYA

    Пользовательские функции добавляются в файл functions.php дочерней темы или через сниппеты
    https://ru.wordpress.org/plugins/code-snippets/

    http://cld.wthms.co/7b0H8B

    Я если честно, не совсем силен во всех аспектах, но при вставке данного кода в functions.php вываливается ошибка. Уточните, пожалуйста, нужно прописать целиком код как на скриншоте?

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Проблема со складскими остатками» закрыта для новых ответов.