WooCommerce: deshabilite la pasarela de pago para un rol de usuario específico

Es posible que desee deshabilitar las pasarelas de pago según el rol del usuario o la capacidad del usuario. Por ejemplo, es posible que desee desactivar PayPal para «función de usuario: shop_manager» o habilitar una puerta de enlace específica para «función de usuario: cliente». Todo lo que necesita es pegar el siguiente código en su functions.php

Fragmento de PHP: deshabilite la pasarela de pago para un rol de usuario específico @ WooCommerce Checkout

/**
 * @snippet       Disable Payment Gateway for a Specific User Role | WooCommerce
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 3.8
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
  
add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_paypal_disable_manager' );
  
function bbloomer_paypal_disable_manager( $available_gateways ) {
   if ( isset( $available_gateways['paypal'] ) && current_user_can( 'manage_woocommerce' ) ) {
      unset( $available_gateways['paypal'] );
   }
   return $available_gateways;
}

Fragmento de PHP: habilite la pasarela de pago para un rol de usuario específico @ WooCommerce Checkout

/**
 * @snippet       Enable Payment Gateway for a Specific User Role | WooCommerce
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 3.8
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
  
add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_paypal_enable_manager' );
  
function bbloomer_paypal_enable_manager( $available_gateways ) {
   if ( isset( $available_gateways['paypal'] ) && ! current_user_can( 'manage_woocommerce' ) ) {
      unset( $available_gateways['paypal'] );
   }
   return $available_gateways;
}

Cómo encontrar el ID de la pasarela de pago de WooCommerce

Aquí está la captura de pantalla

Buscar ID de puerta de enlace (pagos de WooCommerce)
Buscar ID de puerta de enlace (pagos de WooCommerce)

¿Existe un complemento de «Pasarelas de pago por función de usuario» de WooCommerce?

Si no se siente 100% seguro con la codificación, decidí buscar un complemento confiable que logre el mismo resultado de este fragmento (y más).

En este caso, encontré que el complemento de Pasarelas de pago condicionales de WooCommerce es el más completo cuando necesita habilitar/deshabilitar las pasarelas de pago según ciertos criterios. Puede crear «reglas» ilimitadas y usar, por ejemplo, los totales del carrito, el país de facturación, el país de envío, la función del usuario y mucho más para definir qué pasarela de pago muestra y cuál no.

Pero en caso de que no quiera usar complementos y desee codificar (o desee probar eso), siga leyendo

Deja un comentario