Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

При выборе самовывоз делать скидку клиенту


Recommended Posts

Доброго дня. Суть проблемы:

В магазине при выборе самовывоза клиенту делается скидка.

Расчет скидки реализован 

 $quote_data['pickup'] = array(
                'code'         => 'pickup.pickup',
                'title'        => $this->language->get('text_description'),
                'cost'         => 0.00,
                'tax_class_id' => 0,
                'text'         => $this->currency->format(0.00, $this->session->data['currency'])
            );

Но итоговая сумма не меняется при выборе самовывоза и оформлении заказа. Вопрос, куда добавить переменную для получения корректной итоговой суммы.

Надіслати
Поділитися на інших сайтах


23 минуты назад, nikifalex сказал:

что значит реализован? Что именно вы уже сделали?

Взял пример с другого форума, где реализована функция отображения скидки за самовывоз

находим
 

            $quote_data['pickup'] = array(
                'code'         => 'pickup.pickup',
                'title'        => $this->language->get('text_description'),
                'cost'         => 0.00,
                'tax_class_id' => 0,
                'text'         => $this->currency->format(0.00, $this->session->data['currency'])
            );

и вместо всего этого, вставим
 

            $cost $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9);
            
$quote_data['pickup'] = array(
                
'code'         => 'pickup.pickup',
                
'title'        => $this->language->get('text_description'),
                
'cost'         => -$cost,
                
'tax_class_id' => $this->config->get('total_shipping_tax_class_id'),
                
'text'         => '( - ' $this->currency->format($cost$this->session->data['currency']) . ')',
Змінено користувачем AndreiPopov
Надіслати
Поділитися на інших сайтах


34 минуты назад, spectre сказал:

можете попробовать сделать отрицательный cost

так? просто при оплате через эквайринг тогда теряется стоимость и эквайринг ругается

$cost $this->cart->getSubTotal() - ($this->cart->getSubTotal() * 0.9);
            $quote_data['pickup'] = array(
                'code'         => 'pickup.pickup',
                'title'        => $this->language->get('text_description'),
                'cost'         => -$cost,
                'tax_class_id' => $this->config->get('total_shipping_tax_class_id'),
                'text'         => '( - ' $this->currency->format($cost$this->session->data['currency']) . ')',
Надіслати
Поділитися на інших сайтах


 

32 минуты назад, Otche94 сказал:

только если закажут очень дешевый товар то твоя скидка будет меньше стоимости товара) 

если фиксированная стоимость -  то да, а если % от заказа - то нет. только вот проблема при такой доработке теряется стоимость и начинает ругаться эквайринг

Надіслати
Поділитися на інших сайтах


17 часов назад, AndreiPopov сказал:

 

если фиксированная стоимость -  то да, а если % от заказа - то нет. только вот проблема при такой доработке теряется стоимость и начинает ругаться эквайринг

а зачем тебе онлайн оплата при самовывозе? скрой вариант онлайн оплаты для варианта доставки самовывоз..

Надіслати
Поділитися на інших сайтах

В 26.05.2020 в 14:50, Otche94 сказал:

а зачем тебе онлайн оплата при самовывозе? скрой вариант онлайн оплаты для варианта доставки самовывоз..

Есть точка самовывоза типа Ozon, доставка до нее бесплатная, клиент может забрать с нее со скидкой либо оплатить доставку до двери.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.