Viewing 14 replies - 1 through 14 (of 14 total)
  • Tive um mesmo problema, cliente fez a compra e sistema n?o retornou o frete e ele finalizou a compra sem o valor extra do frete.
    A mesma coisa acontece se a pessoa colocar um CEP que n?o existe.
    Deveria ter uma op??o que caso o sistema n?o possa calcular o frete devido a consulta do CEP o processo n?o seja finalizado.

    NO meu caso está dando erro de “Correios: CEP inválido” para um CEP válido, como relatei aqui:
    https://www.ads-software.com/support/topic/cep-valido-apresentado-como-invalido?replies=4

    Acho que este webservice do correio é o principal causador deste problema. e infelizmente o suporte deles é uma piada…

    Pra mim ta dando o mesmo erro Método de envio inválido.
    Até ontem tava funcionando normal, hoje está dando esse erro.
    Chega dezembro e o site dos correios pifa… é um inferno.. se alguém descobrir alguma solu??o. me avise!!

    Acho que descobri. Deasbilitei o plugin WooCommerce Extra Checkout Fields for Brazil e o frete voltou a funcionar!!!!

    Plugin Author Claudio Sanches

    (@claudiosanches)

    Se os Correios falou que o CEP é inválido ou o trecho n?o esta sendo atendido n?o tem muito o que fazer.
    Se n?o estiver satisfeito com algo sinta-se livre para contribuir com o código do plugin em https://github.com/claudiosmweb/woocommerce-correios

    Thread Starter brwayuu

    (@brwayuu)

    Claudio, se pudesse ajudar faria. No entanto n?o sou desenvolvedor, e agrade?o muito terem criado este plugin.

    Com todo o respeito, penso que n?o me entendeu. Os Correios n?o falam que o CEP é inválido. Se você abrir o primeiro link que copiei, vai ver que eles retornam os valores certos. No entanto, o XML retorna também o seguinte:

    <MsgErro>
    O CEP de destino está sujeito a condi??es especiais de entrega pela ECT e será realizada com o acréscimo de até 7 (sete) dias ao prazo regular.
    </MsgErro>

    O que estou dizendo é que o site dos Correios retorna tudo direitinho, mas o plugin ignora tudo porque aparece um código de erro.

    Penso que o plugin deveria aceitar o valor retornado, assim como a mensagem de erro, e mostrar esta ao utilizador.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @brwayuu n?o vamos aceitar no momento absolutamente nada com mensagem de erro.
    Simplesmente porque n?o tem como exibir corretamente ela de volta para os usuários.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    Como eu já falei também:

    Se n?o estiver satisfeito com algo sinta-se livre para contribuir com o código do plugin em https://github.com/claudiosmweb/woocommerce-correios
    

    Além que tem outras formas de contribuir com um projeto Open Source além de código!

    Thread Starter brwayuu

    (@brwayuu)

    @claudio Entendi. No entanto, mesmo tendo mensagem de erro, o site dos Correios retorna valores certos para o valor do envio. Porquê n?o usar estes? Tem alguma raz?o contra?

    E sobre o n?o poder exibir corretamente o erro de volta para o usuário, é limita??o do WooCommerce?

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @brwayuu n?o vou alterar isso agora, se quiser que isso mude colabore com o plugin, simples assim.
    Funciona bem do jeito que esta hoje já.

    Thread Starter brwayuu

    (@brwayuu)

    @claudio Que arrogancia. Estou aqui reportando um erro, contribuindo com sugest?es como melhorar, mostrando que o plugin n?o funciona do jeito que deveria, e você dando uma de “eu que sei”.

    Enfim, para quem continua tendo problemas, fiz o seguinte:

    Na linha 431 do plugin, retirei o check de Erro, deixando só o check se os correios retornam o valor:

    Trocar

    // Have errors?
    if( empty( $correioMethod->Erro ) && !empty( $correioMethod->Valor ) ){

    Com

    // Have errors?
    if( !empty( $correioMethod->Valor ) ){

    Deste jeito o plugin sempre aplica o valor que os Correios retorna como resposta, mesmo que tenha uma mensagem de erro.

    Como no meu caso a mensagem de erro era insignificante (“O CEP de destino está sujeito a condi??es especiais de entrega pela ECT e será realizada com o acréscimo de até 7 (sete) dias ao prazo regular.”), prefiro que o cliente consiga calcular o custo do que ficar bloqueado na compra.

    Atenciosamente

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @brwayuu N?o é arrogancia, é que você ainda n?o percebeu que eu n?o vou alterar isso, pra mim esta ótimo como esta, esta funcionando exatamente do jeito que deveria, tem erro, ent?o n?o mostra o frete!

    Se você quer diferente, contribua com o plugin, pode contribuir com código ou doa??es, mas enquanto você estiver arrogante querendo que eu fa?a isso sem saber se eu tenho tempo livre ou n?o, eu n?o vou fazer absolutamente nada.
    Bem simples.

    Thread Starter brwayuu

    (@brwayuu)

    @claudio N?o sei se tem tempo, nem se deseja mudar o funcionamento plugin. Mas como criador/contribuidor, o mínimo esperado é que tente ajudar, ou ent?o nem responda.

    Custaria muito responder: “no momento o plugin bloqueia quando os correios retornam qualquer tipo de erro. Se desejar mudar o funcionamento, pode fazê-lo na linha xxx, mudando X para Y. No entanto, n?o penso que o plugin deveria funcionar desse jeito” ?

    Enfim, agrade?o muito o fato de ter criado/contribuido para fazer esse plugin, ajuda bastante, mas acho errado marcar este post (e vários outros) como resolvido, quando a sua resposta se limitou a “se quiser, resolva sozinho, mas o plugin está bom como está.”

    Penso que na comunidade open source se aprecia sugest?es, quer tenha tempo de as resolver ou n?o. Pela sua primeira resposta (“Se os Correios falou que o CEP é inválido ou o trecho n?o esta sendo atendido n?o tem muito o que fazer.”), você nem leu o que escrevi, pois a mensagem de erro dos correios n?o diz nada disso

    E já agora, vejo que o plugin tem “class CorreiosError” na linha 672, que n?o é utilizado em lugar nenhum. Imagino que a certo momento alguém quiz fazer verifica??o do tipo de erro retornado pelos Correios, exatamente para corrigir situa??es que reportei, mas que este trabalho nunca foi terminado.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @brwayuu o plugin é gratuito, esta ai para quem quiser usar sem pagar nada.
    Sugest?o pode ser aceita ou n?o, e neste caso n?o foi aceita, se quiser contribuir de verdade, perdendo o seu tempo e investigando quais ids de erros realmente podem passar e como notificar o usuário, ent?o ótimo pra mim. Caso o contrário a sua sugest?o n?o resolve nada e só cria trabalho com algo que já esta funcionando bem.

    Alias, o plugin já trata o erro 010 e mostra a mensagem que os correios manda, veja como aparece no carrinho: https://cl.ly/image/0A440d2n0I3H

    Ent?o o que você esta dizendo realmente esta RESOLVIDO!

    Em ABSOLUTAMENTE NENHUM lugar do plugin é possível encontrar um código como:

    // Have errors?
    if( empty( $correioMethod->Erro ) && !empty( $correioMethod->Valor ) ){
    

    Muito menos uma classe como:

    class CorreiosError
    

    No caso esse tratamento de erro que estou dizendo que o plugin faz esta aqui: https://plugins.trac.www.ads-software.com/browser/woocommerce-correios/trunk/includes/class-wc-correios-shipping.php#L378

    Veja que ele deixa passar quando tem status como 010.

    Depois exibe ainda a mensagem por:
    https://plugins.trac.www.ads-software.com/browser/woocommerce-correios/trunk/includes/class-wc-correios-shipping.php#L378

    O que mostra que além de toda a sua arrogancia comigo exigindo que eu trabalhe para você, você nem se deu ao trabalho de utilizar este plugin e sim esta utilizando algum outro plugin!

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘Calculo n?o funciona quando site dos Correios retorna erro’ is closed to new replies.