Title: DESACTIVAR CUPONES SEGUN PASARELA DE PAGO
Last modified: 2 de marzo de 2022

---

# DESACTIVAR CUPONES SEGUN PASARELA DE PAGO

 *  Resuelto [carmen soarez](https://es.wordpress.org/support/users/carmen-soarez/)
 * (@carmen-soarez)
 * [hace 4 años, 7 meses](https://es.wordpress.org/support/topic/desactivar-cupones-segun-pasarela-de-pago/)
 * Buenos días, estoy buscando ayuda para mi pagina web de seminarios online. Estoy
   usando woocommerce y quiero usar cupones para alumnos y personas que se inscriben
   antes de alguna fecha x, pero necesito que cuando el alumno ingrese el cupón 
   me deshabilite la opción de MERCADO PAGO Y PAYPAL y que solo quede la opción 
   de transferencia bancaria.
    ya busqué en varios lados y no doy ni con el código
   ni con un plugins que me ayude con eso. – tengo un código pero que me quita todos
   los métodos de pago. lo pego abajo, por ahí alguien me ayuda. Gracias – –
 *     ```
       add_filter( 'woocommerce_available_payment_gateways', 'gfk_payment_gateway_disable_country' );
   
       function gfk_payment_gateway_disable_country( $available_gateways ) {
           global $woocommerce;
           if ( $woocommerce->cart->get_applied_coupons() ) { //hacer la comparación de cupón
               foreach ( $available_gateways as $ap => $val ) {
                  if( 'paypal' !== $ap ) {
                       unset( $available_gateways[$ap] ); //quitar todas la disponibles.
                  }
               }
           }
       }
       ```
   
 * La página con la que necesito ayuda: _[[accede](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fes.wordpress.org%2Fsupport%2Ftopic%2Fdesactivar-cupones-segun-pasarela-de-pago%2F%3Foutput_format%3Dmd&locale=es_ES)
   para ver el enlace]_

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)

 *  Moderador [jose64](https://es.wordpress.org/support/users/jose64/)
 * (@jose64)
 * [hace 4 años, 7 meses](https://es.wordpress.org/support/topic/desactivar-cupones-segun-pasarela-de-pago/#post-12207240)
 * Hola.
 * Bienvenida al foro de soporte. usa este código:
 *     ```
       add_filter('woocommerce_available_payment_gateways', 'applied_coupons_hide_payment_gateways', 20, 1 );
       function applied_coupons_hide_payment_gateways( $available_gateways){
           // Not in backend (admin)
           if( is_admin() ) 
               return $available_gateways;
   
           // If at least a coupon is applied
       	global $woocommerce;
       	$applied_coupons = $woocommerce->cart->applied_coupons;
       	if( ! empty ($applied_coupons) ) {
               // Loop through payment gateways
               foreach ( $available_gateways as $gateway_id => $gateway ) {
                   // Remove all payment gateways except BACS (Bank Wire)
                   if( $gateway_id != 'bacs' )
                       unset($available_gateways[$gateway_id]);
               }
           }
   
           return $available_gateways;
       }
       ```
   
 * Te desactiva todas las pasarelas de pago excepto la transferencia directa. Está
   basado en:
 *     ```
       add_filter('woocommerce_available_payment_gateways', 'applied_coupons_hide_payment_gateways', 20, 1 );
       function applied_coupons_hide_payment_gateways( $available_gateways){
           // Not in backend (admin)
           if( is_admin() ) 
               return $available_gateways;
   
           // If at least a coupon is applied
           if( sizeof( WC()->cart->get_applied_coupons() ) > 0 ){
               // Loop through payment gateways
               foreach ( $available_gateways as $gateway_id => $gateway ) {
                   // Remove all payment gateways except BACS (Bank Wire)
                   if( $gateway_id != 'bacs' )
                       unset($available_gateways[$gateway_id]);
               }
           }
   
           return $available_gateways;
       }
       ```
   
 * [Remove some payment gateways if any coupon code is applied in Woocommerce](https://stackoverflow.com/questions/52120053/remove-some-payment-gateways-if-any-coupon-code-is-applied-in-woocommerce)
 * La modificación que le hice desactiva las pasarelas aunque los cupones no hagan
   descuentos (se basa en si hay algún cupón añadido aunque su valor sea 0), en 
   el original si usas un descuento de valor 0 no las desactiva porque se basa en
   el monto de los descuentos, no en si hay algún cupón aplicado. De acuerdo a lo
   que te interese usas uno u otro.
 * Comenta si tienes alguna duda y, por favor, recuerda marcar el debate como resuelto,
   así nos ayudas a mantener el foro al día.
 *  Iniciador del debate [carmen soarez](https://es.wordpress.org/support/users/carmen-soarez/)
 * (@carmen-soarez)
 * [hace 4 años, 7 meses](https://es.wordpress.org/support/topic/desactivar-cupones-segun-pasarela-de-pago/#post-12207270)
 * hola, funcionó súper bien!! gracias gracias

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)

 El debate ‘DESACTIVAR CUPONES SEGUN PASARELA DE PAGO’ está cerrado a nuevas respuestas.

 * En: [WooCommerce](https://es.wordpress.org/support/forum/plugins-y-hacks/woocommerce/)
 * 2 respuestas
 * 2 participantes
 * Última respuesta de: [carmen soarez](https://es.wordpress.org/support/users/carmen-soarez/)
 * Última actividad: [hace 4 años, 7 meses](https://es.wordpress.org/support/topic/desactivar-cupones-segun-pasarela-de-pago/#post-12207270)
 * Estado: resuelto

## Debates

### Debates populares

### Debates sin respuestas

### Debates que no son soporte

### Debates resueltos

### Debates no resueltos

### Todos los debates
