Imagina la siguiente situación…
Tienes una tienda online y quieres que, si el importe del carrito de tus clientes es menor de 1.000€ no esté disponible la pasarela de pago, por ejemplo, PayPal ¿cómo lo harías?
Y digo PayPal por poner una. Tú decides el motivo:
- Falta de confianza de los usuarios en ciertas pasarelas para importes altos.
- Elevadas comisiones.
- Procesos complicados.
- etc…
Si quieres que WooCommerce oculte o desactive pasarelas de pago dependiendo del importe del carrito, una sencilla función puede ayudarte.
Sería así:
/* * Desactivamos PayPal y Stripe si el importe del carrito es mayor de 1000 */ add_filter( 'woocommerce_available_payment_gateways', 'ayudawp_filtra_pasarelas', 1); function ayudawp_filtra_pasarelas( $gateways ){ global $woocommerce; if($woocommerce->cart->total > 1000) { unset($gateways['stripe']); unset($gateways['paypal']); } return $gateways; }
Sencillo ¿verdad?
¿Quieres personalizar el código?
Puedes añadir o quitar pasarelas en tu lista de unset
, cambiar la cantidad a partir de la cual se desactivarán, o si lo prefieres hacer justo lo contrario, desactivar pasarelas para cantidades menores (<
) de la cantidad especificada.
¡Tú decides!
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Fernando,
Gracias por el aporte. Sólo un detalle. En vez de usar global $woocommerce; y luego llamar a la variable, si usas WC() te ahorras tener que usar variables globales.