• Estou com problemas com meu plugin Extra Checkout Fields, o meu não faz a validação do CPF, o usuários/cliente, pode digitar o CPF apenas com 1 número, que o sistema faz a validação como se fosse um CPF/CNPJ existente. O meu cliente está com problema pois algumas compras são efetuadas com o CPF errado e não conseguimos emitir a nota fiscal.

    Alguém tem alguma luz ?

    The page I need help with: [log in to see the link]

Viewing 14 replies - 1 through 14 (of 14 total)
  • Mas você optou a validação do CPF nas opções do plugin? Não estou com o plugin aberto agora, mas pelo que me recordo você opta por coletar ou não CPF / CNPJ e também por validar ou não os números digitados nesse campo.
    Dê uma revisada em suas configurações…

    Thread Starter guspreto

    (@guspreto)

    Sim, tudo configurado perfeitamente, já procurei em vários foruns tbm, todas as opções funcionando, estou com a versão 3.7.2 do Plugin, com tema Storefront.

    Thread Starter guspreto

    (@guspreto)

    o site em questão: http://www.sistrum.com.br

    Thread Starter guspreto

    (@guspreto)

    Plugin Author Claudio Sanches

    (@claudiosanches)

    Acabei de testar a última versão do plugin com o Storefront e não consegui reproduzir esse erro, talvez alguma outra coisa instalada causando isso?

    Thread Starter guspreto

    (@guspreto)

    Tenho o pagar.me, o paypal e o pagseguro instalados como checkout de pagamento.

    Thread Starter guspreto

    (@guspreto)

    Já venho algum tempo tentando descobrir o que pode ser, já desinstalei e instalei diversos plugins do site, pois também achava ser algum conflito, porém sem sucesso.

    @claudiosanches Eu acho que o maior problema é que a validação só acontece quando é clicado o submit, o que impede que seja verificado se o CPF é válido. O ideal seria verificar a validade do CPF ao mudar o valor do campo, igual acontece quando atualiza o total do pedido (como no campo CEP por exemplo).

    O plugin PayPal Brasil para WooCommerce por exemplo, não mostra o iframe do checkout transparent enquanto o CPF não estiver correto, porém não há nenhuma notificação do erro do cliente, e os clientes desistem da compra por causa disso. Considerando que isso poderia ser melhorado por parte dos desenvolvedores desse plugin, ainda acredito que isso deveria ser algo incluso no seu plugin, uma vez que isso afeta qualquer tipo de gateway de pagamento que precise de CPF.

    O ideal seria validar o CPF com um JS, para que a validação seja imediata ao invés de utilizar a função atualmente disponível na Classe Extra_Checkout_Fields_For_Brazil_Formatting -> is_cpf($cpf) {…}.

    Já faz um tempo q eu venho procurando uma solução para isso sem precisar modificar muita coisa, mas até agora não tenho tido sucesso.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    Considerando que isso poderia ser melhorado por parte dos desenvolvedores desse plugin, ainda acredito que isso deveria ser algo incluso no seu plugin, uma vez que isso afeta qualquer tipo de gateway de pagamento que precise de CPF.

    Por padrão a validação de várias coisas no WooCommerce são a mesma que este plugin faz, então esse do PayPal deveria levar em consideração a validação que tem no WooCommerce, não é apenas este plugin que vai fazer alguma validação lá, fazer por JS não seria necessário em boa parte dos casos, porém sim como esse do PayPal foi feito, não é um problema neste plugin aqui.

    @claudiosanches Talvez eu não tenha me expressado direito. O que quis dizer é que, por não ser feita uma verificação imediata do campo do CPF, com um blur do checkout, como acontece quando é atualizado o endereço de entrega, o plugin, ou melhor, a API do PayPal checa a validade do CPF assim que o blur acontece quando é preenchido o endereço. Acredito que não haja retorno dessa checagem para o checkout, e por isso o iframe não apresenta os campos para preenchimento de cartão de credito, e no lugar aparece um overlay com um cadeado. O ideal seria, assim que é retirado o foco do campo, haver uma validação, dessa forma os erros comuns que acontecem não existiriam. Não estou dizendo que seu plugin está errado, porém há uma falha aí. Outro exemplo é o gateway da Cielo, que também sofre o mesmo problema.

    O tema OceanWP por exemplo, possui um checkout multistep, que verifica a validade dos campos antes de seguir para o próximo passo, porém não inclui o campo do CPF em sua validação (já que não foi feito para brasileiros), e o mesmo problema acontece. A solução que eu encontrei nesse caso, foi um plugin pago que possui uma validação própria antes de submeter o formulário, o que descarta a utilização do seu plugin, já que possui um campo dedicado para CPF/CNPJ na área de pagamento.

    Enfim, é só uma sugestão, mas seria muito bem-vinda para evitar esse tipo de problema. Do mesmo jeito que você hoje em dia valida o e-mail e apresenta sugestões de domínios…

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @zeinnicholas você que não entendeu direito, validação vai acontecer igual tem neste plugin e outros plugins fazem igual também, é padrão no WooCommerce, além que depender da validação apenas em JS é errado, simples assim, é coisa básica de programação não depender apenas da do JS, eu até posso adicionar outra validação por JS, mas é errado depender apenas dela, isso não esta correto no outro plugin.

    @claudiosanches Eu entendi o que você quis dizer, e agradeço a explicação. Mas quando me referi a uma validação via JS, não quis dizer que deveria ser descartada a validação que você já possui no plugin. Muito pelo contrário, acho super importante que ela continue no lugar. Só estava sugerindo que, também houvesse uma validação ou via JS, ou quando houvesse mudança de campo (acredito que o termo correto seria blur), ao invés de somente aguardar para validar quando fosse clicado no botão de compra, ou seja, na ação de POST do checkout. No caso do OceanWP por exemplo, ele já checa se os campos obrigatórios estão válidos quando está sendo utilizado o multi-step checkout, no momento em que o usuário tenta passar para o próximo passo através de um callback. Porém como o multi-step não reconhece os campos do seu plugin, eles não são validados.

    Eu ainda sei pouco sobre o que rola por trás do checkout do WC e como tirar proveito dos hooks, scripts e filtros disponíveis, mas entendo um pouco para perceber que, independente do erro no outro plugin (o qual eu reconheço como você que está errado), esse problema de validação do CPF/CNPJ não está restrito a somente aquele plugin, mas qualquer outro plugin que dependa do seu, que aliás diga-se de passagem é uma puta mão na roda e uma bênção para nós mero mortais brasileiros. Minha sugestão mesmo é para reduzir ao máximo o erro humano, que não pode ser completamente evitado infelizmente.

    Neste caso, o que estou fazendo com um projeto é implementando uma validação extra dos campos via JS “on the fly“, assim que o usuário muda de campo, para evitar que ele tenha que fazer todo o caminho para só então descobrir que errou quando clica em comprar. Isso obviamente não está dentro do escopo do seu plugin, e entendo plenamente. Mas seria interessante se houvesse algum tipo de callback para validar pelo menos os campos de CPF/CNPJ na hora de preechê-los como você faz com o campo de e-mail nativamente, assim não ficaríamos reféns de plugins que não seguem os padrões do WooCommerce.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @zeinnicholas fica a vontade para mandar um Pull Request com o código para validar em JS: https://github.com/claudiosanches/woocommerce-extra-checkout-fields-for-brazil

    @claudiosanches Legal! Eu vou ver se consigo. Estou estudando implementar esse método. Se tudo der certo eu mando um PR lá! Valeu

Viewing 14 replies - 1 through 14 (of 14 total)

The topic ‘Problemas com Validação do CPF’ is closed to new replies.