Woocommerce: удаление комиссий PayPal, когда купон составляет ноль / 0

Надеюсь, что смогу найти решение для следующего нежелательного поведения: я использую Wordpress 4.5.3 с Woocommerce 2.6.4. Я также установил сборы на основе платежного шлюза WooCommerce 2.2.16. Этот плагин позволяет мне добавлять комиссии PayPal во время оформления заказа.

Я также по умолчанию не разрешаю получение наличных.

Проблема, с которой я сталкиваюсь, заключается в том, что если пользователь использует купон, который делает их общую сумму равной нулю ... Я интуитивно ожидал, что i) комиссии PayPal не будут отображаться ii) вы можете просто разместить заказ на оформление заказа.

Ни того, ни другого не происходит.

Поэтому я вместо этого решил включить кассовый чек и автоматически отключить его (используя unset (), не смог понять, как настроить только отключение шлюза) - если общая сумма корзины была равна комиссии PayPal, используя этот крючок: woocommerce_available_payment_gateways . Это, по крайней мере, позволило бы им оформлять заказ без единственного выхода, являющегося шлюзом PayPal.

Проблема в том, что я до сих пор не понял, как предотвратить отображение и прибавление комиссий PayPal к общей сумме.

Любое руководство / помощь очень ценится


person Payges    schedule 07.08.2016    source источник
comment
Вы проверяете плагин WooCommerce Payment Gateway Based Fees и третий документ? Может быть, есть какое-то правило для отображения сборов или нет   -  person mollie    schedule 07.08.2016


Ответы (2)


В плагине есть опция Максимальное значение, позволяющая отключить плату за продукт, если цена продукта превышает определенную сумму. Прочтите https://docs.woocommerce.com/document/payment-gateway-based-fees/

После проверьте этот плагин. нет варианта минимальной суммы. но вы можете сделать комиссию 0, если общая сумма равна 0. Откройте файл woocommerce-additional-сборы \ классы \ class-wc-add-fees.php.in calculate_gateway_fee_product и добавьте код.

if($check_total==0){
   return $check_total;
}

перед return $ fee_calc; в строке 2122. если любой запрос вы можете прокомментировать.

person mollie    schedule 07.08.2016
comment
Большое спасибо за ответ, но разве мне не нужна контрастная опция, которая не существует: минимальное значение - чтобы вы могли отключить плату за продукт ... И нужно было бы установить его на ноль .... По сути, это желаемый '' option ', который мне нужно выяснить, как кодировать ... Я могу ошибаться и попытаюсь установить максимальное значение, когда доберусь до компьютера ... - person Payges; 07.08.2016
comment
вы отметите эту опцию? это не работает.? вы используете плагин, который рассчитывает комиссию и прибавляет ее к общей стоимости. Если у pluign нет возможности устанавливать правила, вам нужно отредактировать файлы плагинов или проверить, какой крючок работал при оформлении заказа. - person mollie; 07.08.2016
comment
Да, как я уже сказал ... нам нужна опция минимального значения ... или, по сути, тема моего сообщения - как закодировать это, видя, что он отсутствует / что этот сценарий не был учтен lugin? Благодарность - person Payges; 07.08.2016
comment
Можете прислать мне zip-архив этого плагина, я проверю его на крючок. - person mollie; 07.08.2016
comment
Спасибо за ваше предложение, молли .. был весь день и подумал .. вернулся домой, протестировал, и это сработало :-) Плагин позволяет вам ставить комиссию за любой платежный шлюз. Поэтому я установил один за наличные: я разместил комиссия -0,2 (чтобы противостоять комиссии PayPal в размере 0,2) и установить ее максимальное значение на 0,1 ... то есть реально она будет применяться только тогда, когда тележка равна нулю. Пока все хорошо для тестирования ... - person Payges; 07.08.2016
comment
на самом деле ... ему нужно обновить страницу ... чтобы настроить себя правильно ... так что не изящное решение - person Payges; 07.08.2016
comment
как отправить вам почтовый индекс? - person Payges; 07.08.2016
comment
[email protected] если вам нужно - person mollie; 08.08.2016
comment
Позвольте нам продолжить это обсуждение в чате. - person Payges; 08.08.2016
comment
Спасибо за попытку ... к сожалению, ваше решение не работает ... я не уверен, пробовали ли вы его на самом деле (?). Я думаю, что либо эта функция не влияет на расчет, либо есть другая функция в другом месте, которая сыграет роль позже ... даже без вашего условного условия, если бы я должен был установить $ fee_calc = 0 или вернуть null или вернуть 0, это не повлияет и Дополнительные комиссии Paypal, установленные на странице настроек, по-прежнему отображаются - person Payges; 12.08.2016

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

Увидев, что все остальные функции плагина для меня были излишними и не обязательными ... я отказался от плагина и просто добавил свой собственный код для PayPal Fees с простой модификацией этого фрагмента:

Добавьте базовую надбавку ко всем транзакциям https://docs.woocommerce.com/document/add-a-surcharge-to-cart-and-checkout-uses-fees-api/

person Payges    schedule 13.08.2016