Saltar para o conteúdo
🚫 Limpar o checkout do WooCommerce: remover métodos de pagamento desnecessários por país, montante e função

🚫 Limpar o checkout do WooCommerce: remover métodos de pagamento desnecessários por país, montante e função

Um cliente enche o carrinho, chega ao checkout e vê cinco métodos de pagamento, dos quais dois realmente funcionam. Testou o terceiro há um mês e esqueceu-se de o desativar, o quarto não aceita pagamentos do país dele e o quinto é peso morto que sobrou depois de desativar um plugin antigo. Parece-lhe familiar?

Cada gateway extra no checkout é atrito. O cliente perde segundos a escolher e, se escolher um método avariado, abandona o carrinho. De acordo com o Baymard Institute, 22% dos utilizadores abandonam o checkout especificamente por causa de um processo de checkout complicado ou confuso.

Abaixo estão três formas de limpar os métodos de pagamento no WooCommerce: desde o painel integrado para uma limpeza rápida até código linha a linha para quaisquer condições. Cada uma foi testada numa loja ativa, com exemplos concretos e armadilhas.

O que saber antes de desativar

💡 Visão geral rápida:

  • Método 1: WooCommerce → Definições → Pagamentos, dois cliques, desativa um gateway para todos os clientes de uma vez
  • Método 2: filtro woocommerce_available_payment_gateways no functions.php, condições por país, total do carrinho, perfil de utilizador
  • Método 3: plugin gratuito Conditional Payments for WooCommerce, construtor visual, zero linhas de código

Antes de qualquer alteração, faça um backup completo. O UpdraftPlus gratuito trata disto: alguns cliques e uma cópia do seu site fica na cloud. Depois de desativar gateways, faça sempre uma encomenda de teste desde o carrinho até à página de «obrigado» para garantir que os métodos restantes aceitam pagamentos sem erros.

E, acima de tudo: nunca desative TODOS os gateways de uma vez. Deixe pelo menos um método de pagamento a funcionar, caso contrário os clientes simplesmente não conseguirão concluir a encomenda e descobrirá isso pelo silêncio ensurdecedor no seu email.

Método 1: Painel do WooCommerce, dois cliques, risco zero

O caminho mais simples e seguro. Funciona quando precisa de remover um gateway específico para TODOS os clientes, sem condições.

Abra WooCommerce → Definições na barra lateral de administração e vá ao separador Pagamentos. Verá uma tabela de todos os métodos de pagamento registados com uma coluna Ativado. Os gateways ativos estão destacados a roxo, os desativados a cinzento.

Para desativar um método, clique no interruptor na coluna Ativado, que ficará cinzento. É tudo. O gateway desaparece instantaneamente do checkout. Sem código, sem plugins.

Um caminho alternativo para o mesmo resultado: clique no nome do método na lista, desmarque Ativar este gateway de pagamento e guarde.

O que este método NÃO consegue fazer

Há exatamente uma limitação, mas é significativa: desativa o gateway globalmente. Se a sua loja opera em vários países ou precisa de ocultar um método apenas sob certas condições (total da encomenda abaixo de um limite, um produto da categoria «digital», um cliente da UE), o painel não ajudará. Para lógica condicional, avance para os métodos 2 e 3.

Método 2: Código, filtro woocommerce_available_payment_gateways

O WooCommerce disponibiliza o hook woocommerce_available_payment_gateways. É acionado imediatamente antes de a lista de métodos ser exibida no checkout e permite remover gateways com base numa dúzia de condições diferentes: país, total do carrinho, perfil de utilizador, categoria de produto na encomenda.

O código é adicionado ao functions.php do tema filho ou através do plugin Code Snippets. Se ainda não tem um tema filho, crie um antes de fazer alterações, caso contrário tudo se desfaz na próxima atualização do tema principal.

2.1. Ocultar todos os métodos de pagamento de uma só vez

Por vezes, é necessário remover completamente o formulário de pagamento: por exemplo, o site está em modo de manutenção enquanto testa o carrinho. Uma linha no functions.php:

1add_filter( 'woocommerce_cart_needs_payment', '__return_false' );

O filtro diz ao WooCommerce: «não é necessário pagamento». Todo o formulário de pagamento desaparece da finalização da compra. Clique em Atualizar ficheiro e não se esqueça de remover a linha após os testes, caso contrário nenhuma encomenda real será processada.

2.2. Desativar um gateway para um país específico

Imagine que aceita encomendas dos EUA e da Europa. Os clientes dos EUA pagam via PayPal, enquanto os europeus não precisam dele, pois têm gateways locais. O código abaixo remove o PayPal para um endereço de faturação nos EUA:

1add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_payment_gateway_disable_country' );
2function quadlayers_payment_gateway_disable_country( $available_gateways ) {
3 if ( is_admin() ) return $available_gateways;
4 if ( isset( $available_gateways['paypal'] ) && WC()->customer->get_billing_country() === 'US' ) {
5 unset( $available_gateways['paypal'] );
6 }
7 return $available_gateways;
8}

O ponto-chave é o ID do gateway. Cada gateway tem o seu: paypal (PayPal), stripe (Stripe), bacs (transferência bancária direta) e cod (pagamento na entrega). Se não souber o ID, vá a WooCommerce → Definições → Pagamentos, clique com o botão direito no nome do método e selecione «Inspecionar», depois localize o atributo data-gateway_id na marcação:

Depois de adicionar o código, teste a finalização da compra: com um endereço de faturação nos EUA, o PayPal desaparece; para outros países, mantém-se.

2.3. Desativar um gateway com base no total do carrinho

Alguns processadores de pagamento cobram uma taxa fixa que reduz a sua margem em encomendas pequenas. Por exemplo, para totais abaixo de 200 $, pretende manter apenas a transferência bancária direta e ativar o PayPal para finalizações de compra de valor mais elevado:

1add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_disable_paypal_below_threshold' );
2function quadlayers_disable_paypal_below_threshold( $available_gateways ) {
3 $threshold = 200;
4 if ( WC()->cart->total < $threshold ) {
5 unset( $available_gateways['paypal'] );
6 }
7 return $available_gateways;
8}

A lógica é simples: se o total do carrinho for inferior a $threshold, o PayPal é removido da lista. Substitua o valor do limite pelo seu.

Método 3: Plugin Conditional Payments, construtor visual

Se preferir não mexer no functions.php, o plugin Conditional Payments for WooCommerce resolve o mesmo problema. À data de julho de 2026: versão 1.16.5, instalações ativas, compatível com as versões mais recentes do WordPress e WooCommerce. Última atualização a 11 de julho de 2025.

A instalação é a habitual: Plugins → Adicionar novo, escreva "Conditional Payments for WooCommerce" na caixa de pesquisa, clique em Instalar agora e Ativar.

Configurar condições

Após a ativação, aparece o item Conditional Payment Methods no menu do WooCommerce. Vá até lá, certifique-se de que a caixa "Enable conditions" está ativa e clique em Add condition.

Na página que abre, defina quatro parâmetros:

  • Title, o nome da condição, por exemplo "No PayPal for small orders".
  • Action, selecione Disable the payment method(s).
  • Payment methods, assinale os gateways que pretende desativar (pode selecionar vários).
  • Conditions, a lógica de acionamento. Por exemplo: "Total do carrinho < valor limite" → o PayPal é desativado.

Clique em Publish e a condição entra em vigor de imediato. Teste a finalização da compra com um valor abaixo e outro acima do limite.

A versão gratuita funciona com estas condições: total do carrinho, subtotal e subtotal sem impostos. Estão disponíveis operadores AND/OR, pelo que pode criar uma regra como "desativar PayPal se o valor for superior a X E inferior a Y".

A versão premium acrescenta filtros por país, cidade, função do utilizador, categoria de produto, moeda e uma dúzia de outros parâmetros. Na prática, contudo, a funcionalidade gratuita é suficiente para a maioria das lojas.

⁉️🤔 Perguntas frequentes

Como desativo um método de pagamento para todos os clientes de uma só vez?

Vá a WooCommerce → Definições → Pagamentos e clique no interruptor na coluna Ativado. O interruptor fica cinzento e o método desaparece da finalização da compra para todos, sem exceção. Dez segundos, risco zero.

Posso ocultar uma gateway apenas para uma categoria de produto específica?

A versão gratuita do Conditional Payments não consegue fazer isso. A versão premium filtra por categorias, produtos e atributos. Uma alternativa é código no hook woocommerce_available_payment_gateways com uma verificação de WC()->cart->get_cart() para itens da categoria desejada.

Desativar uma gateway afeta encomendas já realizadas?

Não. As encomendas existentes não são afetadas. A alteração aplica-se apenas a finalizações de compra futuras; todas as transações anteriores permanecem no histórico sem alterações.

E se a gateway desativada continuar a aparecer na finalização da compra?

Limpe a cache do seu site e do navegador. Se tiver um plugin de caching (WP Rocket, W3 Total Cache), limpe a cache dele. Depois, desative temporariamente outros plugins um a um e teste a finalização da compra; pode haver um conflito.

Posso reativar um método desativado?

Sim, a qualquer momento. Método 1: clique novamente no interruptor em Pagamentos. Método 2: elimine ou comente o código que adicionou. Método 3: desative a condição em Conditional Payment Methods.

É obrigatório criar um tema filho antes de editar o functions.php?

É fortemente recomendado. Sem um tema filho, as suas alterações serão perdidas quando o tema principal for atualizado. O plugin Code Snippets é uma alternativa segura: armazena o código na base de dados e não depende do tema.

Resumo: o que escolher para a sua tarefa

Três abordagens cobrem três cenários diferentes. Escolha a que se adequa à sua situação:

  • Simplesmente remover uma gateway desnecessária para todos → Método 1, painel do WooCommerce. Dez segundos, risco zero.
  • Precisa de lógica: por país, montante, função → Método 2 (código) ou Método 3 (plugin). O código é gratuito e não adiciona dependências. O plugin oferece uma interface visual e protege contra erros de digitação no functions.php.
  • Está a testar um site e precisa de ocultar pagamentos temporariamente → uma linha add_filter( 'woocommerce_cart_needs_payment', '__return_false' ) da secção 2.1. Não se esqueça de a remover após os testes.

Na prática, recomendamos começar com o painel do WooCommerce para uma limpeza básica e, para lógica condicional, instalar o Conditional Payments. A versão gratuita cobre a maioria dos cenários e o construtor visual elimina o erro humano no código. Quando tiver mais de cinco condições e a loja estiver a crescer ativamente, mude para código: escreva-o uma vez no functions.php e esqueça o assunto.