Скидка за предоплату

Тема в разделе "OpenCart", создана пользователем boxerrr, 7 июл 2014.

  1. boxerrr

    boxerrr

    Регистрация:
    8 авг 2013
    Сообщения:
    105
    Симпатии:
    36
    Ребят подскажите как сделать так что бы при покупке товара покупатель бы получал скидку за предоплату .....допустим внес предоплату 25% получил скидку 7% а внеся 50 получил 10%
     
  2. zvizdunov

    zvizdunov

    Регистрация:
    31 май 2014
    Сообщения:
    105
    Симпатии:
    33
  3. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    Тут я бы задался другим вопросом, как вы планируете реализовать "Этап оплаты №2" после предоплаты, как высчитывается остаток "доплаты" и каким образом проплачивается остаток ?
     
  4. zvizdunov

    zvizdunov

    Регистрация:
    31 май 2014
    Сообщения:
    105
    Симпатии:
    33
    Это вообще не проблема.
    У меня несколько интернет-магазинов и треть заказов в уходят вообще без предоплаты, с оплатой при получении с помощью услуги "Наложенный платеж".
     
  5. boxerrr

    boxerrr

    Регистрация:
    8 авг 2013
    Сообщения:
    105
    Симпатии:
    36
    лучше конечно как то это реализовать кнопками допустим купить купить со скидкой 7% и купить со скидкой 10%
     
  6. zvizdunov

    zvizdunov

    Регистрация:
    31 май 2014
    Сообщения:
    105
    Симпатии:
    33
    Используйте на странице товара автоизменение цены в зависимости от выбранных опций
    http://wmasteru.org/threads/Авто-изменение-цены-при-выборе-значения-опции.2264/
    и, соответственно, в опциях обозначьте процент предоплаты
     
  7. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Ни как реально не отследить предоплату внес покупатель или нет. Нужно действительно разбивать оплату на 2-3 части и только после этого выставлять общий счет.
    Т.е. если покупатель выбрал вариант оплаты с предоплатой, ему выводится сразу же цена и предлагают оплатить по вебманьке и или другими средствами и делать проверку, если деньги поступили на счет, то действительно предоставлять скидку, если нет то гуляй...
    По другому не вижу смысла реализовывать данный функционал.
     
  8. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    Есть модуль под названием: "Скидка на способ оплаты", можете скачать брокарт, этот модуль там есть по умолчанию.
    [​IMG]
    Сам модуль добавляет наценку, но в модели каталога, можно поменять значение с :
    $total += $payment_charge;
    на
    $total -= $payment_charge;
    И тогда получается скидка...
     
  9. Savik

    Savik

    Регистрация:
    3 авг 2014
    Сообщения:
    7
    Симпатии:
    0
    Помогите плз!

    У меня ошибка:
    Warning: Illegal string offset 'title' in /catalog/model/total/paymentmethoddiscounts.php on line 13
    Warning: Illegal string offset 'title' in /catalog/model/total/paymentmethoddiscounts.php on line 22

    Цену не приплюсовывает, Опенкарт 1.5.4....
    --- Добавлено, 6 май 2015 ---
    ошибся, вторая строчка ошибки такая:
    Warning: Illegal string offset 'code' in /catalog/model/total/paymentmethoddiscounts.php on line 22
     
  10. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Найди до вызова условия, строку где переопределяется массив $page['data']='xxx';// это и вызывает ошибку в условии
    И замени на $page['data']['code'], или убери переопределение $page['data']='xxx'.
    Или в условии проверяй значение одномерного массива $page['data'], без ключа code( см. по факту логики кода).
    Или перейди на php 5.3

    PHP:
    //создаем ошибку
    $page['data']['code']='данные';//Многомерный ассоциативный массив- определяем значение
    $page['data']='xxx';//переопределение массива в одномерный - определяем строковое значение
    echo $page ['data'];//получаем значение  одномерного массива без ошибки
    echo $page['data']['code'].' Illegal string offset - ошибка - неопределенная строка.';//получаем ошибку