Простой способ оплаты, увеличивающий стоимость доставки

Бюджет: 1 000 Р

Создать простейший способ оплаты (можно на основе стандартного плагина "Наличные" /wa-plugins/payment/cash/), при выборе которого к стоимости доставки прибавляется комиссия 3% от суммы заказа (можно и без доставки), но не менее 50 руб, округление до 10. Делать соответствующие настройки плагина в бэкенде не нужно, проще вручную отредактировать.

Формула, полагаю, будет такая:

$commission = round(0.03 * $delivery, -2);
$commission = ($commission < 50) ? 50 : $commission;

Должно работать и в бэкенде (при изменении параметров заказа во время редактирования), и во фронтенде на странице оформления через увеличение стоимости доставки + сделать возможность вывести величину комиссии через хук/<div id=...></div>/иным способом - что работает быстрее...

6 ответов

  • Worker 20 мая 2020 10:02 #

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

  • Worker 20 мая 2020 16:20 #

    Коллеги, сторонние плагины не предлагайте - всё уже пересмотрено кучу раз. Вместо плагина "Корзина в один шаг" на данный момент используется стандартное оформление на одной странице с группировкой доставок по типам. Shop-Script последний 8-й, поэтому должно работать не криво.

    Нужен способ оплаты, который просто добавляет указанную величину к доставке. Полагаю, знающий нюансы Webasyst напишет подобное за 20 минут. К сожалению, сам эти нюансы не знаю.

  • Ценник х 3 - тогда можно о чем то говорить.

    Уже давно ищу решение по наценке. К слову, в примере, наценка так и работает - добавляет к доставке. Есть нюанс: цена доставки меняется после создания заказа (если с витрины) и что бы не улетали уведомления (т.к. хук orderCreate обрабатывается после отправки имейла) с ценой без наценки делается промежуточный статус (new-без уведомления) а после создания заказа меняется на следующий (justadded).

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

    В общем, это - не один плагин а комплекс действий по настройке.

  • Worker 22 мая 2020 12:43 #

    Хорошо, если с бэкендом такие сложности, то в случае с фронтендом должно же быть всё проще, правильно? Залезть в wa()->getStorage()->get('shop/checkout'); к сумме доставки прибавить значение... или нет?

  • Worker 24 мая 2020 17:00 #

    Не густо на Webasyst с разрабами или все так загружены под завязку... На Битриксе нашел бы в течение дня, а тут уже несколько дней никакого просвета.

Откликнуться на заказ

Отклики на заказы могут добавлять только зарегистрированные эксперты и разработчики Webasyst. Стать экспертом.

Чтобы добавить комментарий, зарегистрируйтесь или войдите