Title: The transaction was not sent to the host because of a duplicate order id
Last modified: 28.11.2020

---

# The transaction was not sent to the host because of a duplicate order id

 *  [djardo](https://ru.wordpress.org/support/users/djardo/)
 * (@djardo)
 * [5 лет, 10 месяцев назад](https://ru.wordpress.org/support/topic/the-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id/)
 * Привет.
    Столкнулся с такой проблемой: 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](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);
 * может, ошибся где?
 * Страница, с которой нужна помощь: _[[войдите](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fru.wordpress.org%2Fsupport%2Ftopic%2Fthe-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id%2F%3Foutput_format%3Dmd&locale=ru_RU),
   чтобы увидеть ссылку]_

Просмотр 5 ответов — с 1 по 5 (всего 5)

 *  [kword](https://ru.wordpress.org/support/users/kw56/)
 * (@kw56)
 * [5 лет, 10 месяцев назад](https://ru.wordpress.org/support/topic/the-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id/#post-12201181)
 * > фильтр написал, но не сработало
 * Изменить статус заказа можно с помощью хука `woocommerce_thankyou`
    Не проверяла,
   но должно быть что-то вроде
 *     ```
       add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
           function custom_woocommerce_auto_complete_order( $order_id ) { 
               if ( ! $order_id ) {
                   return;
               }
   
               $order = wc_get_order( $order_id );
   
               if( $order->has_status( 'failed' ) ) {
                   $order->update_status( 'cancelled' );
               }
           }
       ```
   
 *  Автор [djardo](https://ru.wordpress.org/support/users/djardo/)
 * (@djardo)
 * [5 лет, 10 месяцев назад](https://ru.wordpress.org/support/topic/the-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id/#post-12201238)
 * Эх… Не помогло.
    Не понимаю, в какой момент это должно отрабатывать и переключать
   статус.
 *  [kword](https://ru.wordpress.org/support/users/kw56/)
 * (@kw56)
 * [5 лет, 10 месяцев назад](https://ru.wordpress.org/support/topic/the-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id/#post-12201239)
 * [https://docs.woocommerce.com/document/automatically-complete-orders/](https://docs.woocommerce.com/document/automatically-complete-orders/)
 * [https://woocommerce.github.io/code-reference/hooks/hooks.html](https://woocommerce.github.io/code-reference/hooks/hooks.html)
 *  Модератор [Юрій](https://ru.wordpress.org/support/users/yube/)
 * (@yube)
 * [5 лет, 10 месяцев назад](https://ru.wordpress.org/support/topic/the-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id/#post-12201240)
 * Я бы полез ковыряться в шлюз платежной системы. Именно там обрабатывается колбэк
   и меняется статус заказа. Там может быть что угодно (такое впечатление, что зачастую
   шлюзы пишут люди, не знающие ни WC, ни WP), даже тупой SQL запрос, который, ясное
   дело, никаким add_action не ловится.
 *  Автор [djardo](https://ru.wordpress.org/support/users/djardo/)
 * (@djardo)
 * [5 лет, 10 месяцев назад](https://ru.wordpress.org/support/topic/the-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id/#post-12201580)
 * Спасибо за ответы, пойду копать.

Просмотр 5 ответов — с 1 по 5 (всего 5)

 Тема «The transaction was not sent to the host because of a duplicate order id»
закрыта для новых ответов.

## Метки

 * [checkout](https://ru.wordpress.org/support/topic-tag/checkout/)
 * [woocommerce](https://ru.wordpress.org/support/topic-tag/woocommerce/)

 * Форум: [WooCommerce](https://ru.wordpress.org/support/forum/woocommerce/)
 * 5 ответов
 * 3 участника
 * Последний ответ: [djardo](https://ru.wordpress.org/support/users/djardo/)
 * Последняя активность: [5 лет, 10 месяцев назад](https://ru.wordpress.org/support/topic/the-transaction-was-not-sent-to-the-host-because-of-a-duplicate-order-id/#post-12201580)
 * Статус: нерешённая

## Темы

### Самые популярные темы

### Темы без ответов

### Без вопроса

### Решённые

### Нерешённые

### Все темы
