Muestra pasarelas de pago según productos del carrito en WooCommerce

Con este snippet conseguirás limitar las formas de pago según el producto que haya añadido al carro el cliente.

Es muy interesante si tienes productos con poco margen de beneficio y por ejemplo no quieres que pueda pagar con Paypal (Comisiones elevadas). Puedes obligar a que la compra sea con otra forma de pago con menor comisión.

Para configurar a qué productos quieres que se aplique y qué pasarelas mostrar en esos casos, solo tienes que:

  1.  En la línea de código 6 reemplazar los números que hay por los IDs de los productos que quieras.
  2.  En la línea de código 9 reemplazar los IDs de las pasarelas que he usado de ejemplo, por los que quieras mostrar.

 

Snippet para mostrar unas pasarelas de pago determinadas según los productos del carrito en WooCommerce

// Muestra pasarelas de pago específicas según los productos que haya en el carrito
add_filter( 'woocommerce_available_payment_gateways', 'enable_gateways_for_specific_products', 1, 1 );
function enable_gateways_for_specific_products( $methods ){

  	// Listado de productos 
	$list_of_products = array( '99', '96' );

	// Listado de pasarelas a mostrar
	$gateways_list = array( 'bacs', 'cod' );

	foreach ( WC()->cart->cart_contents as $key => $product ) {

		if ( in_array( $product[ 'product_id' ], $list_of_products ) && !empty( $gateways_list ) ) {

			foreach ( $gateways_list as $gateway ) {
				
				if ( isset( $methods[ $gateway ] ) ) {
					$new_methods[ $gateway ] = $methods[ $gateway ];
				}
			}

			$methods = array();
			$methods = $new_methods;

			break;
		}
	}

	return $methods;
}
Ver más tutoriales de: WooCommerce

Tutoriales relaccionados

¿Necesitas un desarrollo a medida?

Login para aceder

David Lanau Consultor de Marketing Online
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.