Este código permite desactivar un método de pago en WooCommerce cuando el total del pedido excede una cantidad determinada.
En el ejemplo, se utiliza el método Redsys (texto resaltado), y 100 como cantidad del pedido. Para encontrar el identificador del método de pago, desde nuestro escritorio de WordPress iremos a WooCommerce -> Ajustes -> Pagos, y acceder al método de pago que queramos deshabilitar. En la parte final de la URL veremos el código identificativo del método (https://tusitioweb.com/wp-admin/(…)§ion=redsys).
add_filter( 'woocommerce_available_payment_gateways', 'dcms_remove_gateways_by_total_amount', 1, 10 );
function dcms_remove_gateways_by_total_amount( $gateways ){
$greater_than_amount = 100; // Cambiar el total del pedido que se aplicará
$exclude_payments_ids = array("cod", "redsys"); // Cambiar el ID del método de pago
if( WC()->cart->total > $greater_than_amount ) {
foreach($exclude_payments_ids as $payment_id){
if ( isset($gateways[$payment_id]) ){
unset( $gateways[ $payment_id ] );
}
}
}
return $gateways;
}