Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

Alterar gateway de pagamentono WooCommerce com base no cupom sem plugin?

Como configurar métodos de pagamento no WooCommerce com base no cupom aplicado? No mundo do comércio eletrônico, oferecer opções flexíveis de pagamento aos clientes é fundamental para garantir uma experiência de compra satisfatória.

O WooCommerce, uma das plataformas de comércio eletrônico mais populares do mundo, permite personalizar os métodos de pagamento com base em várias condições, incluindo o uso de cupons.

Neste artigo, vamos explorar como configurar métodos de pagamento diferentes no WooCommerce quando um cupom específico é aplicado ao carrinho. Em nosso exemplo, vamos remove os métodos de pagamento do PayPal e Transferência Bancária, permitindo somente a utilização do Pagamento na Entrega quando o cupom ‘Meu-Cupom50’ for utilizado. Vamos começar!

Passo 1: Configurar os Métodos de Pagamento O primeiro passo é configurar os métodos de pagamento que você deseja oferecer aos seus clientes. No WooCommerce, vá para a seção “Configurações” e clique na guia “Pagamentos”. Aqui, você encontrará uma lista dos métodos de pagamento disponíveis, como PayPal, cartão de crédito, transferência bancária, entre outros. Certifique-se de ativar os métodos de pagamento que deseja disponibilizar aos clientes.

Tela de configuração dos métodos de pagamento no WooCommerce.

Passo 2: Criar um Cupom Agora, é hora de criar um cupom específico para acionar a mudança nos métodos de pagamento. No painel de controle do WordPress, vá para a seção Marketing -> Cupons e clique em “Adicionar novo”. Defina um código de cupom exclusivo e configure as condições de uso, como desconto percentual ou valor fixo. Além disso, você pode definir limites de uso e restrições específicas, se desejar. Em nosso exmplo, usamos o código 'Meu-Cupom50'.

Printscreen da tela de criação de cupom no WooCommerce

Passo 3: Criar um Shortcode Personalizado. O primeiro passo é criar um shortcode personalizado para controlar os métodos de pagamento com base no cupom aplicado. Abra o seu arquivo functions.php do tema ativo do WordPress e adicione o seguinte código:

function pp_gateway_cupom($available_gateways) {
    $cupons = WC()->cart->applied_coupons;

    foreach ($cupons as $cupom) {
        if ($cupom == 'MEU-CUPOM50' { //Alterar o valor MEU-CUPOM50 pelo seu próprio cupom de desconto
            unset($available_gateways['bacs']);
			unset($available_gateways['paypal']);
        } 
    }

    return $available_gateways;
}
add_filter('woocommerce_available_payment_gateways', 'pp_gateway_cupom');

Esse shortcode permite remover os métodos de pagamento padrão ‘bacs’ e ‘paypal’ quando o cupom ‘MEU-CUPOM50’ for aplicado ao carrinho de compras. Lembre-se de substituir ‘MEU-CUPOM50’ pelo código do seu próprio cupom de desconto, se desejar aplicar essa lógica para um cupom diferente. Caso também não utilize nenhum desses metódos de pagamento, verifique o nome que o seu gateway utiliza e insira substitua no shortcode. Alguns exemplos famosos de gateways de pagamento: 'pagarme-credit-card', ‘pagarme-banking-ticket’, ‘pagseguro’ entre outros.

Ficou na dúvida a respeito do funcionamento desse shortcode? Então vou explicar um pouco mais o seu funcionamento, linha por linha:

  1. A função pp_gateway_cupom é definida e recebe um parâmetro $available_gateways, que representa os métodos de pagamento disponíveis no WooCommerce.
  1. A variável $cupons é inicializada para armazenar os cupons aplicados ao carrinho de compras. Isso é obtido acessando a instância do carrinho do WooCommerce (WC()->cart) e usando a propriedade applied_coupons.
  2. Em seguida, é feito um loop pelos cupons aplicados usando um loop foreach.
  3. Dentro do loop, há uma verificação condicional para verificar se o cupom atual é igual a 'MEU-CUPOM50'. Essa é a comparação para um cupom específico criado somente para o nosso exemplo. Você precisa alterar 'MEU-CUPOM50' pelo código do seu próprio cupom de desconto.
  4. Se a condição do cupom for verdadeira, ou seja, o cupom ‘MEU-CUPOM50’ estiver aplicado, as linhas unset($available_gateways['bacs']); e unset($available_gateways['paypal']); são executadas. Essas linhas removem os métodos de pagamento ‘bacs’ (transferência bancária) e ‘paypal’ da lista de métodos de pagamento disponíveis. Portanto, quando esse cupom específico for aplicado, esses métodos de pagamento não serão mais exibidos para o cliente.
  5. O loop continua para verificar todos os cupons aplicados, mas, neste caso, apenas uma verificação é feita para o cupom ‘MEU-CUPOM50’.
  6. Finalmente, a função retorna o array $available_gateways, que contém os métodos de pagamento disponíveis atualizados após a remoção dos métodos ‘bacs’ e ‘paypal’.
  7. O filtro woocommerce_available_payment_gateways é adicionado usando a função add_filter, e o filtro chama a função pp_gateway_cupom. Esse filtro é responsável por aplicar a lógica definida na função ao determinar os métodos de pagamento disponíveis.

Passo 4: Testar e Implementar: Antes de disponibilizar o cupom aos seus clientes, é importante testá-lo para garantir que tudo esteja funcionando corretamente. Adicione produtos ao carrinho e insira o código do cupom. Verifique se os métodos de pagamento estão sendo atualizados de acordo com as configurações feitas anteriormente.

Faça alguns testes adicionais para garantir que a funcionalidade esteja correta. Caso tenha alguma dúvida utilize a parte de comentários aqui do blog.

Patrick Ponte
Patrick Ponte

Formado em Análise de Sistemas, pós-graduado em Segurança da Informação e Engenharia de Petróleo e Gás Natural e Cursando Engenharia de Software. Apaixonado por tecnologia, desenvolvedor de sites e plugins para WordPress além de ser um grande entusiasta de Java.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *