claudiosanches / woocommerce-extra-checkout-fields-for-brazil

Brazilian Market on WooCommerce - WordPress Plugin.
http://wordpress.org/plugins/woocommerce-extra-checkout-fields-for-brazil/
92 stars 59 forks source link

Impossível fazer compra com pessoa jurídica #179

Open AngelMauricio opened 4 years ago

AngelMauricio commented 4 years ago

LINK 1: https://www.lojascequip.com.br/finalizar-compra/ LINK 2: https://wordpress.org/support/topic/field-that-dont-exist-is-required/#post-13208213

Olá!

Um cliente meu está tendo problemas com a loja dele por causa de um bug no plugin extra checkout fields for brazil, eu já identifiquei o que está acontecendo.

Assim que eu mudo de pessoa física para pessoa jurídica, alguns campos do formulário mudam. Eu preencho todos corretamente e clico em "finalizar compra", porém a compra não pode ser finalizada porque, segundo o erro, eu não preenchi o campo "Empresa" (Company, billing_company). Porém esse campo NÃO EXISTE para ser preenchido no formulário da compra.

O erro estoura no arquivo includes/class-extra-checkout-fields-for-brazil-front-end.php na linha 439.

Eu acredito que o campo que está faltando é um campo que deveria aparecer assim que eu coloco a compra como sendo para pessoa jurídica, assim como alguns campos mudam (e.g. cpf para cnpj). Porém isso não está acontecendo, acho que tem algo a ver com o input nem aparecer no HTML da página.

Alguma ideia do que pode estar causando esse erro? Eu encontrei outras pessoas com esse mesmo erro por aí. Até fiz uma dúvida no plugin errado como dá pra ver no Link 2. No Link 1 é a página que dá pra reproduzir esse erro.

O plugin está atualizado para a última versão, assim como todos os outros plugins também estão.

AngelMauricio commented 4 years ago

Eu consegui fazer uma gambiarra temporária, agora é possível fazer a compra. Na verdade foram duas gambiarras pra conseguir gerar boleto, porque a gambiarra nesse plugin ainda deixava o erro acontecendo em outros plugins.

Antes da linha informada, eu coloquei que $_POST['billing_company'] = $_POST['billing_first_name'] . ' ' . $_POST['billing_last_name'], assim ele passava pela verificação.

Apesar disso, ele ainda tentava criar um boleto com o nome do costumer vazio, então eu tive que fazer a mesma coisa em outro plugin. Enquanto não é corrigido esse bug, eu recomendei ao cliente que não atualize os plugins sem me avisar antes.

Enquanto eu procurava corretamente o bug antes de me desesperar e tentar uma gambiarra, eu vi que ele pegava do settings da conta logada se o usuário era físico ou jurídico na hora de montar os campos do formulário. Isso está certo? Se eu estou cadastrado como pessoa física e compro como pessoa jurídica, o funcionamento devia ser diferente, não?

Vinhola commented 3 years ago

Você precisa habilitar em Aparência > Personalizar > Woocommerce > Finalizar compra. Sei que faz tempo que você perguntou, mas pode ser útil para alguém.

AndreFelype commented 2 years ago

Muito obrigado Vinhola, salvou...