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

Решено Уведомление на статус "В ожидании оплаты"

alekseykurylev

Новичок
Всем привет, кто подскажет, на сайте стоит Яндекс Касса и очень часто когда клиент выбирает оплата, например, банковской картой, не завершает свою оплату, причины бывают разные, то денег на карте не хватило, то просто тупанули и не поняли что происходит, в итоге клиент уходит. Woocommerce на такие незавершенные заказы присваивает статус "В ожидании оплаты", то есть сам заказ в системе фиксируется но с этим статусом. Вопрос, может кто сталкивался, как настроить уведомления администратору сайта о поступлении такого заказа? В настройках я не нашел.
 

ADv

Гуру
Местный
Всем привет, кто подскажет, на сайте стоит Яндекс Касса и очень часто когда клиент выбирает оплата, например, банковской картой, не завершает свою оплату, причины бывают разные, то денег на карте не хватило, то просто тупанули и не поняли что происходит, в итоге клиент уходит. Woocommerce на такие незавершенные заказы присваивает статус "В ожидании оплаты", то есть сам заказ в системе фиксируется но с этим статусом. Вопрос, может кто сталкивался, как настроить уведомления администратору сайта о поступлении такого заказа? В настройках я не нашел.
Посмотрите в эту сторону woocommerce abandoned cart - Поиск в Google
 
  • Like
Реакции: D&B

alekseykurylev

Новичок
нет, там куча всего ненужного, может как-то можно дописать через functions ???
 

alekseykurylev

Новичок
Там есть Новый заказ. Когда человек будет оформлять заказ, Вам будет приходить сообщение на почту!
На новый заказ у меня указана почта. Статус "В ожидании оплаты" типа заказ еще не завершился, поэтому woocommerce не считает его завершенным или новым.
 

ROLL

Новичок
Всем привет, кто подскажет, на сайте стоит Яндекс Касса и очень часто когда клиент выбирает оплата, например, банковской картой, не завершает свою оплату, причины бывают разные, то денег на карте не хватило, то просто тупанули и не поняли что происходит, в итоге клиент уходит. Woocommerce на такие незавершенные заказы присваивает статус "В ожидании оплаты", то есть сам заказ в системе фиксируется но с этим статусом. Вопрос, может кто сталкивался, как настроить уведомления администратору сайта о поступлении такого заказа? В настройках я не нашел.
Здравствуйте! Нашли решение по вопросу?
 

Yogamat

Форумчанин
У меня с этой фигней друга проблема - когда человек выбирает "Оплата картой" и заказ приобретает статус "В ожидании оплаты", письмо попадает в спам.
 

Mixon14

Форумчанин
Ответа так и не было, но вопрос актуальный. Тоже не пойму как уведомление настроить.
 

dim70

Опытный
Для получения уведомлений на указанный e-mail о заказах в статусе "в ожидании оплаты" необходимо разместить в файле темы functions.php следующий код:
PHP:
add_action( 'woocommerce_new_order', 'sogua_email_quote_pending', 20, 1 );
function sogua_email_quote_pending( $order_id ) {

    $order = wc_get_order( $order_id );

    // if order is "pending" then continue
    if( ! $order->has_status( 'pending' ) ) return;

    $to = 'ваш-email@yandex.ru';
    $subject = 'Новый заказ';
    $message = 'Клиент оформляет заказ';
    
    wp_mail( $to, $subject, $message );
}
После добавления указанного кода Вы будете сразу же в течение 1-2 минут получать на указанную почту уведомление, что клиент "добрался" до оплаты товара.
 

tt163

Новичок
Для получения уведомлений на указанный e-mail о заказах в статусе "в ожидании оплаты" необходимо разместить в файле темы functions.php следующий код:
PHP:
add_action( 'woocommerce_new_order', 'sogua_email_quote_pending', 20, 1 );
function sogua_email_quote_pending( $order_id ) {

    $order = wc_get_order( $order_id );

    // if order is "pending" then continue
    if( ! $order->has_status( 'pending' ) ) return;

    $to = 'ваш-email@yandex.ru';
    $subject = 'Новый заказ';
    $message = 'Клиент оформляет заказ';
   
    wp_mail( $to, $subject, $message );
}

Спасибо за код. Работает. Только я через плагин добавлял. Так бы не обратил внимания на это, но после того как яндекс маркет прислал уведомление о том что они провели проверку и обнаружили ошибку, начал поиски решения. Они считают что я должен отреагировать на заказ который находиться в статусе ожидания оплаты. Писать им ничего не стал, и нашёл решение этого нюанса. Ещё раз Спасибо.
 
  • Like
Реакции: D&B

areshin71

Новичок
Для получения уведомлений на указанный e-mail о заказах в статусе "в ожидании оплаты" необходимо разместить в файле темы functions.php следующий код:
PHP:
add_action( 'woocommerce_new_order', 'sogua_email_quote_pending', 20, 1 );
function sogua_email_quote_pending( $order_id ) {

    $order = wc_get_order( $order_id );

    // if order is "pending" then continue
    if( ! $order->has_status( 'pending' ) ) return;

    $to = 'ваш-email@yandex.ru';
    $subject = 'Новый заказ';
    $message = 'Клиент оформляет заказ';
   
    wp_mail( $to, $subject, $message );
}
После добавления указанного кода Вы будете сразу же в течение 1-2 минут получать на указанную почту уведомление, что клиент "добрался" до оплаты товара.
Код рабочий. Спасибо за решение!
Вопрос по нему: а реально ли в письмо подцепить данные по заказу (номер, товары, данные клиента и пр.)?
 

Tuixx

Новичок
Можете попробовать такой вариант:
Уведомление администратору о новом заказе в статусе «В ожидании оплаты» в WooCommerce
PHP:
// New order notification only for "Pending" Order status
add_action( 'woocommerce_checkout_order_processed', 'pending_new_order_notification', 20, 1 );
function pending_new_order_notification( $order_id ) {

    // Get an instance of the WC_Order object
    $order = wc_get_order( $order_id );

    // Only for "pending" order status
    if( ! $order->has_status( 'pending' ) ) return;

    // Send "New Email" notification (to admin)
    WC()->mailer()->get_emails()['WC_Email_New_Order']->trigger( $order_id );
}
 

Kamilla123

Новичок
а можно ли сделать чтобы клиенту приходило письмо с предложением оплатить заказ?
 

kirilloleynik

Новичок
Код рабочий. Спасибо за решение!
Вопрос по нему: а реально ли в письмо подцепить данные по заказу (номер, товары, данные клиента и пр.)?
Удалось ли найти решение относительно данных клиента и заказа в содержимом письма? Если да, расскажите, пожалуйста, как это сделать!
 

a159cm

Новичок
а как выставить задержку, если через 5 мин заказ не оплачен, то отправлять уведомление..
 

nipopadyuk

Новичок
а как выставить задержку, если через 5 мин заказ не оплачен, то отправлять уведомление..
Может кому пригодится. Я так сделал.

PHP:
// New order notification only for "Pending" Order status
add_action( 'woocommerce_checkout_order_processed', 'schedule_pending_new_order_notification', 20, 1 );
function schedule_pending_new_order_notification( $order_id ) {
    // Get an instance of the WC_Order object
    $order = wc_get_order( $order_id );

    // Only for "pending" order status
    if ( ! $order->has_status( 'pending' ) ) return;

    // Schedule the notification after 5 minutes
    wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'send_pending_new_order_notification', array( $order_id ) );
}

// Function to send the pending new order notification
add_action( 'send_pending_new_order_notification', 'send_pending_new_order_notification', 10, 1 );
function send_pending_new_order_notification( $order_id ) {
    // Get an instance of the WC_Order object
    $order = wc_get_order( $order_id );

    // Send "New Email" notification (to admin)
    WC()->mailer()->get_emails()['WC_Email_New_Order']->trigger( $order_id );
}
 
Сверху Снизу