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

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

Тема в разделе "Вопросы, советы и доработки.", создана пользователем discravis, 11 дек 2015.

  1. discravis

    discravis

    Сообщения:
    3
    Симпатии:
    3
    Баллы:
    3
    Всем добрый день.

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

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

    searchingman Местный

    Сообщения:
    1.638
    Симпатии:
    600
    Баллы:
    113
    Что говорит сотрудник Яндекса? Им проще в своем плагине разобраться.
     
  3. discravis

    discravis

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

    discravis

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

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

    Т.е. списывает теперь только при последнем обращении скрипта к сайту (когда есть уведомление об оплате).
     
    • Нравится Нравится x 3