Para configurar esta funcionalidad, sigue estos pasos:
- En la línea de código 5, sustituye el valor 100 con el coste total del carrito a partir del cual deseas deshabilitar los métodos de pago.
- En la línea de código 6, reemplaza los IDs de las pasarelas que he utilizado como ejemplo con los IDs de los métodos de pago que desees deshabilitar.
// Deshabilita determinados métodos de pago si el pedido supera un coste total específico - https://pluginwp.net/
add_filter( 'woocommerce_available_payment_gateways', 'disable_gateways_by_cart_total_amount', 1 );
function disable_gateways_by_cart_total_amount( $gateways ){
/**
* Escribe después del símbolo "=" el coste total del carrito a partir
* del cual se deshabilitarán los métodos de pago. Por ejemplo, para
* deshabilitarlos a partir de 100€ deberás escribir el número 100.
*/
$max_total_amount = 100;
/**
* A continuación debes introducir dentros de los paréntesis, el listado
* de IDs de métodos de pago que quieras dehabilitar. Por ejemplo: el ID
* de Paypal es 'paypal' y el de pago por trasnferencia es 'cod'
*/
$payment_gateways_list = array( 'paypal', 'cod' );
if( WC()->cart->total > $max_total_amount ) {
foreach ( $gateways as $key => $payment_method ) {
if ( in_array( $key, $payment_gateways_list ) && isset( $gateways[ $key ] ) ) {
unset( $gateways[ $key ] );
}
}
}
return $gateways;
}
