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.

    Roberto

    (@tudosaudavel)

    NO meu caso está dando erro de “Correios: CEP inválido” para um CEP válido, como relatei aqui:
    https://wordpress.org/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 arrogância. 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 é arrogância, é 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: http://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.wordpress.org/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.wordpress.org/browser/woocommerce-correios/trunk/includes/class-wc-correios-shipping.php#L378

    O que mostra que além de toda a sua arrogância 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.