• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

При оплате через шлюз списывает больше товара, чем заказано

discravis

Новичок
Всем добрый день.

Возникла проблема: настроил оплату через шлюз Яндекса (официальный), протестировал вместе с сотрудником Яндекса. В тестовом режиме все работало отлично. В боевом режиме проблема: при оплате через шлюз скрипт woocommerce списывает не 1 единицу товара (которую пользователь оплатил), а 3.

Кто-нибудь сталкивался? Пытаюсь разобраться, где коррективы вносить в коде...
 

searchingman

Гуру
Местный
Что говорит сотрудник Яндекса? Им проще в своем плагине разобраться.
 

discravis

Новичок
Сотрудник Яндекса подтвердил, что скрипт обращается три раза к сайту - и, видимо, сайт три раза выполняет reduce_order_stock();
Ищу решение.
 

discravis

Новичок
Разобрался. Решение оставлю здесь на всякий случай.
Заменил в файле yandex_money.php строчку:
$order_w->reduce_order_stock();

на:
if ($_POST['action'] == 'paymentAviso') {
$order_w->reduce_order_stock();
}

Т.е. списывает теперь только при последнем обращении скрипта к сайту (когда есть уведомление об оплате).
 
Сверху Снизу