En este artículo veremos cómo quitar ciertos métodos de pago cuando el pedido excede un determinado monto, veremos como hacerlo directamente a través de código.
Generalidades
Al final lo que queremos obtener es que al finalizar el proceso de compra, y si el pedido ha pasado un determinado monto, entonces se oculten ciertos métodos de pago, tal como se muestra en la siguiente imagen:
Código para remover método de pago de acuerdo al monto del pedido
En el siguiente código tienes que realizar algunos cambios:
- La variable $greater_than_amount, para definir el monto del pedido en el cual se ocultaran los métodos de pago
- La variable $exclude_payments_ids, contendrá los identificadores de los métodos de pago, por ejemplo bacs, cheque, cod, paypal, etc.
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 = 30; // Cambiar el monto del pedido
$exclude_payments_ids = array("cod", "paypal");
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;
}
En el código anterior:
- Utilizamos el Hook de filtro woocommerce_available_payment_gateways que hace referencia a la función dcms_remove_gateways_by_total_amount
- La función tiene un parámetro, es un array con toda la información de las pasarelas de pago configuradas
- Establecemos las variables $greater_than_amount y $exclude_payments_ids
- Usamos el método del objeto de WooCommerce para saber el total del pedido y lo comparamos
- Si se cumple la condición recorremos los identificadores de los pagos que se excluyen
- Si alguno de des esos identificadores forma parte del parámetro, entonces lo quitamos
- Finalmente devolvemos el parámetro de los métodos de pago modificado
Conclusión
Como has podido comprobar, puedes eliminar ciertos métodos de pago cuando el monto del pedido sea mayor a determinado valor, en este artículo hemos visto como realizar esto directamente a través de código.
La entrada Deshabilitar métodos de pago en WooCommerce según el total de pedido es un artículo reciente del sitio DecodeCMS.
0 Commentaires