Скрыть наличные при доставке для заказов на определенную сумму в WooCommerce

Я хочу иметь возможность оплаты наложенным платежом только по цене ниже 100$ и скрывать ее автоматически, когда корзина превышает 100$. Проблема в том, что у меня есть 3 различных способа оплаты прямо сейчас. Paypal, чек и наложенный платеж. Когда человек что-то покупает и выбирает метод оплаты наличными, я написал там описание: "Вы можете выбрать ХПК, если ваш заказ ниже 100$". Но некоторые люди пренебрегают этим и все еще выбирают наложенным платежом, даже если их покупка превышает 100$. Итак, я хочу автоматически скрывать наложенный платеж, когда сумма покупки превышает 100 долларов. Следовательно, когда покупка превышает 100$, будет только два варианта: Paypal и Check. Надеюсь, я смогу прояснить это немного подробнее.

Спасибо

2 ответа

Решение

Вы можете использовать woocommerce_available_payment_gateways хук для редактирования шлюзов woocommerce.

add_filter( 'woocommerce_available_payment_gateways' , 'change_payment_gateway', 20, 1);

/**
 * remove cod gateway if cart total > 100
 * @param $gateways
 * @return mixed
 */
function change_payment_gateway( $gateways ){
    // Compare cart subtotal (without shipment fees)
    if( WC()->cart->subtotal > 100 ){
         // then unset the 'cod' key (cod is the unique id of COD Gateway)
         unset( $gateways['cod'] );
    }
    return $gateways;
}
      add_filter( 'woocommerce_available_payment_gateways' , 'hide_payment_gateway', 20, 1);
        
function hide_payment_gateway( $gateways ){
      //change whatever amount you want
      if( WC()->cart->subtotal < 699 ){
      // then unset the 'cod' key (cod is the unique id of COD Gateway)
      unset( $gateways['cod'] );
      add_action( 'woocommerce_review_order_before_payment', 'COD_exceed_amount_before_paying_notice' );
      }
      return $gateways;
}

function COD_exceed_amount_before_paying_notice() {
      wc_print_notice( __( 'COD option not available on orders below 699.00', 'woocommerce' ), 'notice' );
}
Другие вопросы по тегам