Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para extensões de Formas de Envio
Por tedros
#56399
Pessoal, já pesquisei no forum e vi que muitas pessoas tiveram o mesmo problema, mas nenhum foi solucionado.

Tenho o modulo dos correios instalado e configurado corretamente, com CEP e tudo.
O problema é: Se o cliente clica em comprar e depois vai no carrinho e finaliza o pedido sem simular o frete, no checkout aparece o erro:
PAC: CEP de destino invalido.
SEDEX: CEP de destino invalido.

O CEP de destino e origem estão corretos, as vezes acontece mesmo a pessoa simulando, mas não é sempre, e se a pessoa for cadastrada
o calculo fica normal.
Gostaria de corrigir isso para o cliente poder calcular o frete no checkout, e nao apenas no carrinho.
em ultimo caso, se nao for possivel a solução acima, gostaria de obrigar a simulação de frete no carrinho.

Uso o QuickCheckout, porém este problema acontece no normal também.

Abraço !!
Por tedros
#56411
Bom dia,

Verdade Manoel, somente no QuickCheckout, estava confiando no suporte deles, mas pelo visto eles testaram o checkout normal com um CEP invalido rsrs
Vc saberia resolver este problema no QuickCheckout ?


Ah, e este erro está ocorrendo: Notice: Undefined index: postcode in /home/xxxxxx/public_html/catalog/model/shipping/correios.php on line 126


Abraço.
Avatar do usuário
Por Manoel Vidal
Mensagens Curtidas
#56425
Já vi este erro antes neste checkout, ele é bem problemático, mas realmente nunca tentei consertá-lo, pois a maioria que encontrou problema acabou desistindo dele.

Sobre o erro, o módulo procura o conteúdo do campo postcode (CEP) para calcular o frete, e nesse caso, por algum erro no checkout, ele não está encontrando o conteúdo do campo postcode.

Espero ter ajudado. :D
Por tedros
#56440
Brigado pela resposta Manoel,

Acho que resolveria o problema obrigando o cliente a simular o frete no carrinho de compras,
como eu poderia fazer essa regra ??

Abraço
Por veteranodf
Mensagens Especiais Curtidas
#56536
Acho mais fácil você editar o módulo de frete e validar se o CEP existe, caso não em vez do módulo de frete fazer uma consulta nos Correios e retornar "CEP de destino invalido." retornar por exemplo "Faça ou acesse seu cadastro para exibi o valor", não é difícil de fazer, se eu tiver tempo a tarde vou modificar o script e posto aqui;
Por tedros
#56562
veteranodf escreveu:Acho mais fácil você editar o módulo de frete e validar se o CEP existe, caso não em vez do módulo de frete fazer uma consulta nos Correios e retornar "CEP de destino invalido." retornar por exemplo "Faça ou acesse seu cadastro para exibi o valor", não é difícil de fazer, se eu tiver tempo a tarde vou modificar o script e posto aqui;

Veterano, seria perfeito, se conseguir, manda pra gente.

Abração
Por veteranodf
Mensagens Especiais Curtidas
#56568
Olá; Hoje surgiu um tempinho, segue abaixo a modificação que fiz, o correto seria validar antes de enviar a solicitação aos correios mais isso geraria grandes modificações no script, por isso fiz de uma forma simplificada;

Localize a linha abaixo:

else if(!empty($this->mensagem_erro)){

Adicione o seguinte código abaixo da linha acima:

if (!$this->customer->isLogged()){
$Msg = 'Faça login ou se cadastre para exibir o valor do frete.'; // Aqui informe a mensagem que deseja informar ao cliente em vez de "CEP de destino invalido."
$this->mensagem_erro = str_replace('CEP de destino invalido.', $Msg, $this->mensagem_erro);
}

Espero ter ajudado :D ;
Por tedros
#56572
veteranodf escreveu:Olá; Hoje surgiu um tempinho, segue abaixo a modificação que fiz, o correto seria validar antes de enviar a solicitação aos correios mais isso geraria grandes modificações no script, por isso fiz de uma forma simplificada;
Veterano, muito obrigado pela ajuda, realizei todas as modificações conforme indicado, porém quando estou no carrinho, e clico em finalizar compra,
recebo este erro, nao realizei nenhuma outra alteração, sabe me dizer oq pode ser ?:
Código: Selecionar todos
Notice: Undefined index: postcode in /home/meusite/public_html/catalog/model/shipping/correios.php on line 126
Fatal error: Uncaught exception 'Exception' with message 'CURL can't connect: name lookup timed out' in /home/meusite/public_html/system/library/PagSeguroLibrary/utils/PagSeguroHttpConnection.class.php:120 Stack trace: #0 /home/meusite/public_html/system/library/PagSeguroLibrary/utils/PagSeguroHttpConnection.class.php(59): PagSeguroHttpConnection->curlConnection('POST', 'https://ws.pags...', 20, 'UTF-8', Array) #1 /home/meusite/public_html/system/library/PagSeguroLibrary/service/PagSeguroPaymentService.class.php(79): PagSeguroHttpConnection->post('https://ws.pags...', Array, 20, 'UTF-8') #2 /home/meusite/public_html/system/library/PagSeguroLibrary/domain/PagSeguroPaymentRequest.class.php(627): PagSeguroPaymentService::createCheckoutRequest(Object(PagSeguroAccountCredentials), Object(PagSeguroPaymentRequest), false) #3 /home/meusite/public_html/catalog/controller/payment/pagseguro.php(174): PagSeguroPaymentRequest->register(Object(PagSeguroAccountCredentials)) #4 /home/meusite/public_html/vqmod/vqcache/vq2-system_eng in /home/meusite/public_html/system/library/PagSeguroLibrary/utils/PagSeguroHttpConnection.class.php on line 120