1 Отредактировано Илья (10.02.2017 13:48:17)

Тема: Скидка при оплате [Решено]

Здравствуйте. Скажите, есть ли какой нибудь штатный функционал что бы при оплате определенным способом применялась скидка к товарам?Если нет, как это можно реализовать?

Решение
Магазин -> Способы оплаты ->Нужный способ оплаты ->Комиссия за оплату в % :с отрицательным значением

Повысить оценку Понизить оценку

Re: Скидка при оплате [Решено]

Здравствуйте! Штатно не получится, но модулем вполне.
В объекте заказа есть поля  для скидки по товарам и для скидки на заказ в целом, поэтому можно применять скидки при создании заказа. Способ оплаты же известен.

Re: Скидка при оплате [Решено]

Да на этапе корзины способ оплаты не известен. Но можно доп модулем сделать.

4

Re: Скидка при оплате [Решено]

Пордскажите, что я делаю не так?

    public static function ormAfterWriteShopOrder ($data) {
        
        /**
        * @var \Shop\Model\Orm\Order
        */ 
        $order = $data['orm'];//Получаем объект заказа
        $flag = $data['flag'];//флаг

        $cart_product_items = $order->getCart()->getProductItems();
        $cart = $order->getCart();
        foreach($cart_product_items as $uniq => $data) {

            $cart->update(array(
                $uniq => array(
                    'discount' => '50%'
                )), null, false);          
        }
    }

Повысить оценку Понизить оценку

Re: Скидка при оплате [Решено]

Добрый день

> при оплате определенным способом применялась скидка к товарам
В админке у способа оплаты есть поле "Комиссия за оплату в %" (если указать отрицательное значение - будет скидка)
укажите скидку в этом поле

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

Повысить оценку +1 Понизить оценку

6

Re: Скидка при оплате [Решено]

Виталий пишет:

Добрый день

> при оплате определенным способом применялась скидка к товарам
В админке у способа оплаты есть поле "Комиссия за оплату в %" (если указать отрицательное значение - будет скидка)
укажите скидку в этом поле

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

Спасибо, этот вариант идеально подходит

Повысить оценку Понизить оценку