• Привет.
    Столкнулся с такой проблемой:
    1. пользователь на сайте пытается оформить заказ, доходит до страницы оплаты, по какой-либо причине оплата отменяется (неправильно данные введены, на карте денег недостаточно и тому подобное). заказ в списке заказов получает статус Failed
    2. пользователь повторяет попытку оплаты. Он может обновить страницу или же остаться на странице, походить по сайту, вернуться, вновь заполнить данные, на этот раз правильно, но в результате получает на экране следующую ошибку:

    «The transaction was not sent to the host because of a duplicate order id»
    3. Если заказу поставить статус «Cancelled», то все хорошо. Создается новый order id

    Специально сделал тестовый продукт: https://joiejewelry.ca/shop/uncategorized/test-product

    Есть идея попробовать принудительно переводить проблемные заказы в статус Cancelled

    Вот такой фильтр написал, но не сработало:
    function wc_mark_failed_orders_as_canceled($order_status, $order_id) {
    $order = new WC_Order($order_id);
    if ($order_status == ‘failed’) {
    return ‘cancelled’;
    }
    return $order_status;
    }
    add_filter(‘woocommerce_valid_order_statuses_for_payment_complete’, ‘wc_mark_failed_orders_as_cancelled’, 10, 2);

    может, ошибся где?

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

Просмотр 5 ответов — с 1 по 5 (всего 5)
Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «The transaction was not sent to the host because of a duplicate order id» закрыта для новых ответов.