/ Плагины / Процесс заказа WC

Процесс заказа WC

HIT

26.05.2018

3122

1

Все что связано с процессом непосредственно заказа. Особенно после того как пользователь нажимает кнопку Оформить заказ.

Редирект после оформления заказа

После оформления стандартного заказа woocommerce происходит редирект на шаблон успешного заказа. Пример URL:
https://site.ru/checkout/order-received/6466/?key=wc_order_5b09a31dedcb2

Можно сделать редирект на произвольную страницу:

add_action( 'woocommerce_thankyou', 'bbloomer_redirectcustom');

function bbloomer_redirectcustom( $order_id ){
    $order = new WC_Order( $order_id );
 
    $url = 'https://site.ru/category/stati/';
 
    if ( $order->status != 'failed' ) {
        wp_redirect($url);
        exit;
    }
}

Еще один способ сделать редирект (с помощью js):

add_action( 'woocommerce_thankyou', 'bbloomer_redirectcustom');
 
function bbloomer_redirectcustom( $order_id ){
    $order = new WC_Order( $order_id );
 
    $url = 'http://yoursite.com/custom-url';
 
    if ( $order->status != 'failed' ) {
        echo "<script type='text/javascript'>window.location = '" . $url . "'</script>";
    }
}

Минусом второго способа является, то что пользователь кратковременно видит страницу успешного заказа, и после этого происходит редирект.

Редирект после оформления заказа методом Яндекс

Это уже сложнее, т.к. по умолчанию при выборе метода оплаты Яндекс Кассой (Банковскими картами, Яндекс Кошелек, и т.д.) происходит переадрессация на сервис Яндекс.

Изменяем плагин Яндекс.Касса 2.0 для Woocommerce

В файле плагина yandex-money-checkout/gateway/YandexMoneyCheckoutGateway.php (для варианта оплаты банковскими картами) изменяем строки 245-247

} elseif ($result->confirmation->type == ConfirmationType::REDIRECT) {
       return array('result' => 'success', 'redirect' => $result->confirmation->confirmationUrl);
}

добавляя свое условие, в зависимости от статуса заказа:

} elseif ($result->confirmation->type == ConfirmationType::REDIRECT) {                 
     if('processing' == $order_status){
     return array('result' => 'success', 'redirect' => $result->confirmation->confirmationUrl);
     } else {	
     return array('result' => 'success', 'redirect' => $order->get_checkout_order_received_url());
     }                   
}

Теперь при оформлении заказа пользователя будет перекидывать на шаблон успешного заказа и из личного кабинета, при попытке оплатить он также будет снова перекинут на страницу заказа. А при изменении статуса заказа на В обработке, и при оплате из личного кабинета пользователь будет перенаправлен в платежный модуль Яндекс.

Изменение заказа

Изменение состава заказа доступно при статусах На удержании (первый статус при оплате оффлайн), В ожидании оплаты (первый статус при оплате онлайн).
Состав заказа можно менять только из админки. Менять можно Наименование (удаляя имеющиеся позиции и добавляя новые), Количество, и локально (только для этого заказа) Цены на позиции. После изменения заказа необходимо внизу под заказом нажимать кнопку Пересчитать.

Поменять способ оплаты

Также можно поменять любые данные по заказу, в т.ч. способ оплаты. Дело в том, что иконки редактирования не вполне очевидны:

Все это можно сделать и через БД

Сам заказ в таблице wp_posts, все параметры заказа в таблице wp_postmeta (ищем нужный заказ по post_id). Для изменения способа оплаты меняем две строки:

_payment_method (cod — оплата наличными, paykeeper — оплата эл.платежем Paykeeper, bacs — прямой банковский перевод) и _payment_method_title (текстовое название способа оплаты).

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Статусы заказов

Статусы заказов

Как и любой интернет-магазин Woocommerce присваивает заказам определенные статусы в зависимости от отплаты и формирования заказа. Существует 7 различных статусов заказа: В ожидании оплаты (Pending payment) Обработка (Processing) На удержании Читать далее »

Способ доставки Деловыми линиями

Способ доставки Деловыми линиями

Внедряем в пользовательский способ доставки расчет стоимости Деловых линий. Работа с API Деловые линии Данный функционал я почерпнул с сайта lospirata.ru, но немного упростил. Скрипт ajax-обмена данными: Форма расчета: Содержимое Читать далее »

Выравнивание миниатюр товаров

Выравнивание миниатюр товаров

Идеальная ситуация, когда мы загружаем изображения для товаров (хотя бы для главного изображения) квадратными. т.е. заранее подготовленными, откадрированными. Но бывают случаи, когда на сайт начинают заливаться изображения разных пропорций. Сделаем Читать далее »

/

Добавить комментарий

1 комментарий

  1. Алексей

    Можно управлять заказами по Е-майл? Можно ли сделать?
    Как пример: пришло пользователю письмо с его заказом, внизу письма ссылка (кнопка) «Отказаться от заказа», при нажатии происходит отмена заказа не посещая сайт.
    Или пришло письмо админу о новом заказе, в самом низу письма кнопка «Заказ выполнен» при нажатии на неё переход по ссылке и статус заказа меняеться не заходя в админку.
    Возможно такое?

Процесс заказа WC Процесс заказа WC
Прилепленное меню
Рекомендации для васПрилепленное менюOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.