• Как сделать чтоб при выборе формы оплаты, например клиент выбрал paypal, то сумма заказа увеличивалась на 14%?

    kalbac
    @kalbac
    Wordpress Developer Full-Stack
    Автор, данная функция делает подсчёт только в корзине. Для того что бы получить выбранный метод оплаты нужно цепляться к хукам относящиеся к оформлению заказа (т.е. checkout).
    Как вариант можно использовать этот хук woocommerce_after_calculate_totals
    Пример использования такой:

    add_action( 'woocommerce_after_calculate_totals', 'custom_fee_for_paypal' );
    
    function custom_fee_for_paypal( $cart ) {
    //проверяем это страница оформления заказа или нет
     if ( is_checkout() || defined('WOOCOMMERCE_CHECKOUT') ) {
      //получаем выбранный метод оплаты
      $patment_method = WC()->session->get( 'chosen_payment_method' );
      //Если выбранный метод равен paypal то идём дальше
       if( $patment_method == 'paypal' ) {
        $percentage = 0.14;
        //Получаем значение суммы надбавки за пайпел
        $surcharge = ( $cart->cart_contents_total + $cart->shipping_total ) * $percentage;
        //Добавляем надбавку
         $cart->add_fee( 'Комиссия за PayPal ', $surcharge, true, '' );
      }
     }
    }


    Я этот код написал только что "на коленке", так что он не претендует на истину. Если что то не будет работать в этом коде, то подумайте почему.
    Ответ написан
    7 комментариев