Sistema para Calcular Frete SEDEX e PAC a partir de CEP informado.

CSS, Expressões Regulares, HTML, Internet, Javascript, PHP, Sites Comentar >> Marcelo Korjenioski

Estava pre­ci­sando cal­cu­lar o envio de SEDEX para ven­der alguns pro­du­tos no mer­cado livre e fui pro­cu­rar no Goo­gle se alguem já tinha cri­ado algo para sim­pli­fi­car o cal­culo para agi­li­zar para o usuá­rio.
Entrei um código no fórum http://forum.prestashopbr.com e fiz alguma alte­ra­ções para se encai­xar no que eu pre­ci­sava. Estou com­par­ti­lhando o código.

Exem­plo fun­ci­o­nando.

<?php
if($_POST) {
    function frete($cod_servico,$cep_origem,$cep_destino,$peso,$comprimento=0,$altura=0,$largura=0) {
        $cep_destino = eregi_replace("([^0-9])","",$cep_destino);
        $cep_origem = eregi_replace("([^0-9])","",$cep_origem);

        // Crio um objeto para manipular o XML.
        $doc = new DomDocument;

        // Carrega o arquivo XML com um arquivo DOMDocument
        $doc->Load("<a href="http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?StrRetorno=xml&nCdServico">http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?StrRetorno=xml&nCdServico</a>=" . $cod_servico . "&nVlPeso=" . $peso . "&sCepOrigem=" . $cep_origem . "&sCepDestino=" . $cep_destino . "&nCdFormato=1&nVlComprimento=" . $comprimento . "&nVlAltura=" . $altura . "&nVlLargura=" . $largura);
        // Defino o nome do elemento pai (root).
        $root = $doc->getElementsByTagName('cServico');

        // Defino o nome dos elementos filhos no arquivo XML que eu desejo.
        $children = array('Valor','PrazoEntrega');

        // Faço um loop para pegar todos os elementos pai (root) encontrados.
        $valor = array();
        for ($i=0; $i < $root->length; $i++) {
            // Pega o valor do atributo do elemento pai  (root).
            $id =  $root->item($i)->getElementsByTagName('Codigo')->item(0)->nodeValue;

            if($root->item($i)->getElementsByTagName('Erro')->item(0)->nodeValue > 0) {
                echo $root->item($i)->getElementsByTagName('MsgErro')->item(0)->nodeValue;
                die;
            }

            // Busca por elementos filhos (child) definidos no array
            foreach ($children as $child) {
                $valor[$id][$child] = $root->item($i)->getElementsByTagName($child)->item(0)->nodeValue;
            }
        }

        return $valor;
    }

    // Código do Serviço que deseja calcular, veja tabela acima:
    if ($_POST['cep-destino']) {
        //$cod_servico = $_POST['servico'];
        $cep_origem = '81010210';// CEP de Origem, em geral o CEP da Loja
        $cep_destino = $_REQUEST['cep-destino'];// CEP de Destino, você pode passar esse CEP por GET ou POST vindo de um formulário
        $peso = '0.300';// Peso total do pacote em Quilos, caso seja menos de 1Kg, ex.: 300g, coloque 0.300
        // COMPRIMENTO: comprimento do volume em centímetros - somente número de 16 a 60
        $comprimento = 30;
        // ALTURA: altura do volume em centímetros - somente número de 2 a 60
        $altura = 15;
        // LARGURA: largura do volume em centimetros - somente número de 5 a 60
        $largura = 20;
        $fretes = frete('41106,40010',$cep_origem,$cep_destino,$peso,$comprimento,$altura,$largura);

        foreach ($fretes as $servico => $campos ) {
            $valor = str_replace(",", ".", $campos['Valor']);
            $valor = $valor  + 4.00;
            $valor = number_format($valor,2, ',', '');
            if($servico == '41106') {
                echo " Valor PAC " . $valor  . " prazo de entrega {$campos['PrazoEntrega']} dia(s).<br/>";
            } elseif ($servico == '40010') {
                echo " Valor SEDEX " . $valor  . " prazo de entrega {$campos['PrazoEntrega']} dia(s).<br/>";
            }
        }
    }

} else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
<html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link href="<a href="http://demo.phaneronsoft.com/img/favicon.ico">http://demo.phaneronsoft.com/img/favicon.ico</a>" rel="shortcut icon" type="image/x-icon" />
        <title>Sistema para Calcular Frete SEDEX e PAC a partir de CEP informado. | Phaneronsoft</title>
        <script src="<a href="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js">http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js</a>" type="text/javascript"></script>
        <script type="text/javascript">
            function submitForm() {
                /*
            usa método request() da classe Form da prototype, que serializa os campos
            do formulário e submete (por POST como default) para a action especificada no form
                 */
                function mostrarLoading(){
                    $('loading').style.display = 'block';
                    $('value').innerHTML = ' ';
                }

                $('form-pesquisa-repasse').request({
                    onLoading:mostrarLoading,
                    onComplete: function(transport){
                        /*
                    se o retorno for diferente de -1, entende-se que não houve problemas, então apaga-se
                    os campos do formulário usando o método reset() da classe Form
                         */
                        if(transport.responseText !=-1)  {
                            $('loading').style.display = 'none';
                            $('value').innerHTML = transport.responseText;
                        } else {
                            $('form-pesquisa-repasse').reset();
                            $('loading').style.display = 'none';
                            $('value').innerHTML = 'Erro ao consultar';
                        }
                    }

                });
                return false;
            }
        </script>
        <style type="text/css">

            * {
                font-family:"Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
                font-size:12px;
                font-style:normal;
                font-variant:normal;
                font-weight:normal;
                line-height:normal;
            }

            body {
                background:#FFFFFF none repeat scroll 0 0;
                height:100%;
                margin:0;
                margin-top:20px;
                width:100%;
            }

            div#wrapper {
                margin:auto;
                position:relative;
                width:450px;
                z-index:0;
            }

            .select {
                text-transform:uppercase;
                width:99%;
                border:1px solid #B6B6B6;
                display:block;
            }

            .formSearch fieldset {
                border:1px solid #CCCCCC;
                margin:0;
                padding:0 10px;
            }

            label {
                display:block;
                /*float:left;*/
                margin-right:4px;
                padding-bottom:5px !important;
            }

            legend {
                color:#1E398D;
                font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
                font-size:1.5em;
                padding:10px 5px;
            }

            .button {
                background:#F5EED3;
                border:1px solid #CCCCCC;
                color:#666666;
                cursor:pointer;
                font-size:12px;
                font-weight:bold;
                letter-spacing:1px;
                margin:10px 0 0;
                overflow:visible;
                text-transform:uppercase;
                width:150px;
            }

            .formMain .inline {
                margin:15px 0 0 !important;
            }

            .text,  .select,  .textarea, .password {
                border:1px solid #B6B6B6;
                display:block;
                text-transform:uppercase;
            }

            fieldset span.nameField {
                color:#666666;
                text-transform:uppercase;
            }

            h3 {
                border-bottom:1px solid #F58220;
                margin:0;
                padding:0;
            }

            h3 span {
                -x-system-font:none;
                color:#1E398D;
                font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
                font-size:1.5em;
                font-style:normal;
                font-variant:normal;
                font-weight:bold;
                line-height:normal;
            }

            #value {
                -x-system-font:none;
                color:#9B0000;
                font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
                font-size:1.5em;
                font-style:normal;
                font-variant:normal;
                font-weight:bold;
                line-height:normal;

            }

            #rastrear {
                padding-top:30px;
            }

            #loading {
                display:none;
                color:#9B0000;
                font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
                font-size:1.5em;
                font-style:normal;
                font-variant:normal;
                font-weight:bold;
                line-height:normal;
                text-transform:capitalize;
            }
        </style>

    </head>
    <body>
        <center>
        </center>
        <div id="wrapper">
            <h3>
                <span>Pesquisa valor de frete</span>

            </h3>
            <form id="form-pesquisa-repasse" action="" method="post" onsubmit="submitForm(); return false;" class="formMain formSearch wsizep100">
                <fieldset>
                    <legend>Filtrar Referência</legend>
                    <label class="wsize010" for="cep-destino">
                        <span class="nameField">CEP Destino</span>
                        <input id="cep-destino" class="text" type="text" value="" maxlength="9" title="CPF destino" name="cep-destino" tabindex="2"/>
                    </label>
                    <label for="pesquisar" class="wsize010">
                        <input type="button" onclick="submitForm(); return false;" value="pesquisar" class="button inline"/>
                    </label>
                </fieldset>
            </form>
            <span>* Digitar somente número no CEP</span>
            <br />
            <span id="value"></span>
            <span id='loading'>Pesquisando...</span>
        </div>
    </body>
</html>
    <?php
} // fim else

?>

Caso tenha alguma duvida deixe um comen­tá­rio que terei pra­zer em aju­dar.
Comen­tá­rios são bem vin­dos assim posso melho­rar a qua­li­dade dos tuto­ri­ais aqui apresentados.

<?php

//script original pego em http://forum.prestashopbr.com/viewtopic.php?f=9&amp;t=322&amp;start=30

#####################################
# Código dos Serviços dos Correios  #
#    FRETE PAC = 41106       #
#    FRETE SEDEX = 40010       #
#    FRETE SEDEX 10 = 40215       #
#    FRETE SEDEX HOJE = 40290    #
#    FRETE E-SEDEX = 81019       #
#    FRETE MALOTE = 44105       #
#    FRETE NORMAL = 41017       #
#   SEDEX A COBRAR = 40045       #
#####################################
if($_POST) {
// Código do Serviço que deseja calcular, veja tabela acima:
if ($_POST['servico']) {
$cod_servico = $_POST['servico'];
}
// CEP de Origem, em geral o CEP da Loja
$cep_origem = '81010210';
// CEP de Destino, você pode passar esse CEP por GET ou POST vindo de um formulário

$cep_destino = $_POST['cep-destino'];

$cep_destino = eregi_replace("([^0-9])","",$cep_destino);

// Peso total do pacote em Quilos, caso seja menos de 1Kg, ex.: 300g, coloque 0.300
$peso = '0.300';
// URL de Consulta dos Correios
$correios = "http://www.correios.com.br/encomendas/precos/calculo.cfm?servico=".$cod_servico."&amp;cepOrigem=".$cep_origem."&amp;cepDestino=".$cep_destino."&amp;peso=".$peso."&amp;MaoPropria=N&amp;avisoRecebimento=N&amp;resposta=xml";

// Capta as informações da página dos Correios
$correios_info = file($correios);
// Processa as informações vindas do site dos correios em um Array
foreach($correios_info as $info){
// Busca a informação do Preço da Postagem
if(preg_match("/\<preco_postal>(.*)\<\/preco_postal>/",$info,$tarifa)){
$embalagem = 4.00; // Aqui você  pode colocar o valor da embalagem para envio do produto
$total = $tarifa[1] + $embalagem;
}
}

// Neste exemplo estou colocando apenas PAC e SEDEX
switch ($cod_servico) {
case 41106:
$nome_servico = "Valor do frete via PAC ";
break;
case 40010:
$nome_servico = "Valor do frete via SEDEX ";
break;
}

// Caso venha valor de resposta é numerio e maior que o custo da embalagem senão ocorreu algum erro na solicitação.
if(is_numeric($total) &amp;&amp; ($total > $embalagem)) {
// Quando encontra o valor da postagem, exibe na página formatando em padrão de moeda 10,89
// Caso você não queira formatar basta comentar a linha abaixo que será exibido assim 10.89 e basta executar o comando abaixo
$total = number_format($total,2,',','.');
echo $nome_servico . $total;
} else {
echo 'Erro ao consultar verifique se CEP esta correto';
}
} else {
?>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script>
<script type="text/javascript">
function submitForm(form) {
/*
usa método request() da classe Form da prototype, que serializa os campos
do formulário e submete (por POST como default) para a action especificada no form
*/
form.request({
onComplete: function(transport){
/*
se o retorno for diferente de -1, entende-se que não houve problemas, então apaga-se
os campos do formulário usando o método reset() da classe Form
*/

if(transport.responseText !=-1)  {
$('value').innerHTML = transport.responseText;
} else {
form.reset();
$('value').innerHTML = 'Erro ao consultar';
}
}
});
return false;
}

</script>
<style type="text/css">

* {
font-family:"Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:12px;
font-style:normal;
font-variant:normal;
font-weight:normal;
line-height:normal;
}

body {
background:#FFFFFF none repeat scroll 0 0;
height:100%;
margin:0;
margin-top:20px;
width:100%;
}

div#wrapper {
margin:auto;
position:relative;
width:450px;
z-index:0;
}

.formMain .select {
text-transform:uppercase;
width:99%;
border:1px solid #B6B6B6;
display:block;
}

.formSearch fieldset {
border:1px solid #CCCCCC;
margin:0;
padding:0 10px;
}

.formMain label {
display:block;
float:left;
margin-right:4px;
padding-bottom:5px !important;
}

.formMain legend {
color:#1E398D;
font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:1.5em;
padding:10px 5px;
}

.formMain .button {
background:#F5EED3;
border:1px solid #CCCCCC;
color:#666666;
cursor:pointer;
font-size:12px;
font-weight:bold;
letter-spacing:1px;
margin:10px 0 0;
overflow:visible;
text-transform:uppercase;
width:100%;
}

.formMain .inline {
margin:15px 0 0 !important;
}

.formMain .text, .formMain .select, .formMain .textarea, .formMain .password {
border:1px solid #B6B6B6;
display:block;
text-transform:uppercase;
}

.formMain fieldset span.nameField {
color:#666666;
text-transform:uppercase;
}

h3 {
border-bottom:1px solid #F58220;
margin:0;
padding:0;
}

h3 span {
-x-system-font:none;
color:#1E398D;
font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:1.5em;
font-style:normal;
font-variant:normal;
font-weight:bold;
line-height:normal;
}

#value {
-x-system-font:none;
color:#9B0000;
font-family:"Legacy Sans ITC TT Bold","Trebuchet MS","Lucida Grande",Verdana,Tahoma,Helvetica,Arial,sans-serif;
font-size:1.5em;
font-style:normal;
font-variant:normal;
font-weight:bold;
line-height:normal;
}
</style>

</head>
<body>
<div id="wrapper">
<h3>
<span>Pesquisa valor de frete</span>

</h3>
<form id="form-pesquisa-repasse" action="" method="post" onsubmit="submitForm(this); return false;">
<fieldset>
<legend>Filtrar Referência</legend>
<label for="servico">
<span>Envio</span>
<select id="servico" name="servico" title="Serviços dos Correios" tabindex="1">
<option value="41106">PAC</option>
<option value="40010">SEDEX</option>
</select>
</label>
<label for="cep-destino">
<span>CEP Destino</span>
<input id="cep-destino" type="text" value="" maxlength="9" title="CPF destino" name="cep-destino" tabindex="2"/>
</label>
<label for="pesquisar">
<input type="submit" id="pesquisar" name="pesquisar" tabindex="3"  value="Pesquisar" />
</label>
</fieldset>
</form>
<span>* Digitar somente número no CEP</span>
<br />
<span id="value"></span>
</div>
</body>
</html>
<?php
} // fim else
?>
Com­par­ti­lhe com seus ami­gos:
  • Print
  • Facebook
  • Google Bookmarks
  • PDF
  • RSS
  • Twitter
  • LinkedIn



33 Responses to “Sistema para Calcular Frete SEDEX e PAC a partir de CEP informado.”

  1. Cristiane Schwinden Says:

    olá,
    pro­mei­ra­mente obri­gada pela dica do cal­culo de frete, vc pode­ria me dizer se tem q ins­ta­lar algo adi­ci­o­nal para q este script fun­ci­one? copiei o codigo e colei, sal­vei como correio.php, publi­quei na locaweb mas quando clico em cal­cu­lar a página fica em branco.
    abraços

  2. Marcelo Korjenioski Says:

    Olá Cris­ti­ane,
    Não é neces­sá­rio ins­ta­lar nada.
    O plug­gin do Word­press fez uma bagunça no código.
    Já cor­rigi e tes­tei. Qual­quer duvida me pro­cure. Irei tes­tar os códi­gos que são pos­ta­dos para que este tipo de pro­blema não ocorra.

  3. palloma Says:

    ola como faço pra colo­car esse cal­culo de cep no mer­cado livre?? obrigada.

  4. Marcelo Korjenioski Says:

    Olá Pal­loma.

    Basta hos­pe­dar este código em um ser­vi­dor que suporte PHP e colo­car link desta página na des­cri­ção do pro­duto.
    Este ser­vi­dor é gra­tuito http://www.phpnet.us/ com ele já é pos­si­vel tes­tar o código basta fazer o cadas­tro.
    Segue o link direto para cadas­tro.
    http://www.phpnet.us/signup.php

  5. Rafael Says:

    Na Locaweb já pos­sui um script pronto para cal­cu­lar frete pelos cor­reios. Muito mais sim­ples para quem ja uti­liza a locaweb. Basta pro­cu­rar na locaweb como uti­li­zar.
    Muito fáá­cil!
    Valewww

    *Não des­me­re­cendo o código do amigo aqui.
    Só para faci­liar msm para quem uti­liza a locaweb! =]

  6. Marcelo Korjenioski Says:

    Obri­gado por com­par­ti­lhar a infor­ma­ção Rafael.
    A Locaweb sem­pre tem ótimas solu­ções para seus cli­en­tes.
    Segue o wiki com a solu­ção.
    http://wiki.locaweb.com.br/pt-br/C%C3%A1lculo_de_Frete

  7. Fabio Says:

    Boa tarde Rafael, esse codigo é muito bom, mais tenho uma duvida, no caso de frete via PAC, eu tenho de infor­mar as dimen­sões, Lar­gura, Com­pri­mento e Altura. Onde se encon­tra esses cam­pos no codigo? Muito obrigado.

  8. Marcelo Korjenioski Says:

    Olá Fabio.
    Não tem como setar as dimen­sões do PAC pelo menos não mos­tra no link do cor­reio.
    Acesse http://www.correios.com.br/encomendas/precos/calculo.cfm
    Abra o fonte desta pagina e veja que tem um javas­cript que abre um pop e nele tem todos os para­me­tros. Se encon­trar algo post aqui por favor.

  9. Marcelo Korjenioski Says:

    Olhando no fonte do javas­cript da pagina para
    cal­cu­lar frete vi que a parte de dimen­sões do pacote PAC só não pode ultra­pas­sar alguns valo­res que estão neste link

    Aqui esta o código de vali­da­ção. Pro­cure pela fun­ção validarCaixa.

  10. Marcelo Korjenioski Says:

    Para faci­li­tar a vida eu adi­ci­o­nei uma ER para dei­xar somente numero na entrada do CEP destino.

  11. Mokarzel Says:

    Tem como eu usar esse código no Word Press, junto com o sis­tema de e-commerce?
    Obrigado!

  12. Marcelo Korjenioski Says:

    É pos­sí­vel usar o código acre­dito que com peque­nas mudan­ças vc irá con­se­guir inte­grar com o sis­tema já que este código é sim­ples e não depende de nenhuma biblioteca.

  13. Marcelo Korjenioski Says:

    Lan­çada uma nova versão.

  14. Phaneronsoft » Blog Archive » Bibliotecas AJAX que o google fornece diminuem a carga no seu servidor. Says:

    […] um exem­plo aqui no site sobre  Sis­tema para Cal­cu­lar Frete SEDEX e PAC a par­tir de CEP infor­mado eu faço o uso do pro­totype para res­ga­tar os dados via […]

  15. Diogo Says:

    Oi amigo, achei muito inte­res­sante você pas­sar esse script, vou tes­talo ainda no ser­vi­dor. O pro­blema é que fui abrir e tes­tar link de exem­plo e deu erro. Espero que o pro­blema seja aqui, rs. Mais tudo bem, espero ler mais arti­gos seu com PHP, abra­ços!!!! :-)

  16. Marcelo Korjenioski Says:

    Não é erro com seu ser­vi­dor não… eu pos­tei o código em ver­são HTML e foi con­ver­tido os && (and) para &amp; obri­gado pela ajuda Diogo.

  17. Diogo Says:

    valeu, to vendo agora está tudo per­feito. Sua demons­tra­ção está fun­ci­o­nando e tes­tei aqui em loca­lhost está per­feito. Eu que­ria colo­car um campo com a opção de Quan­ti­da­des de pro­duto. Vou ten­tar aqui, obri­gado e abraços.

  18. Leandro Says:

    Amigo, repa­rou q o eSe­dex retorna como código de ser­viço invá­lido?
    Obrigado.

  19. Marcelo Korjenioski Says:

    Vi que no site do cor­reio não esta mais retor­nando valor para este tipo de ser­viço. Mas o código é esta.
    Per­cebi tam­bém que somente o PAC e SEDEX estão fun­ci­o­nando. Assim que tiver um tempo vou ten­tar cor­ri­gir este pro­blema. Se alguém encon­trar uma solu­ção favor pos­tar aqui.

  20. Rodrigo Peixoto Says:

    Muito obri­gado cara, usei seu script pra colo­car neste site aqui http://www.flaroots.com.br na gale­ria de even­tos tem um link com­prar foto e lá eu colo­quei o script cal­cu­lar frete. Obrigado!

  21. Phaneronsoft » Blog Archive » Sistema para rastrear entregas no Correio. Says:

    […] Como não gosto de ficar aper­tando F5 no site dos cor­reios que vive com pro­ble­mas resolvi fazer a con­sulta via Ajax. O codigo é sim­ples e apro­vei­tei a ideia do sis­tema para cal­cu­lar frete. […]

  22. DR DOG Says:

    Olá Mar­celo tudo bem?
    Gos­ta­ria que você me aju­dasse a colo­car na minha pri­meira pagina de meu blog/site
    Tres ban­ners tipo cal­cule seu frete aqui
    sendo 1 para cada ítem,
    ao entrar no meu blog/site verá que já fiz váris ten­ta­ti­vas e não con­se­gui por não enten­der nada de sites.
    Pode me aju­dar?
    Abra­ços
    Dr Dog — Silvio

  23. Marcelo Korjenioski Says:

    Olá Dr Dog.
    Se seu Blog for no Word­press vc pode aci­di­o­nar o código cri­ando um Wid­gets de campo per­so­na­li­zado assim basta colar o código neste campo.

  24. jose Says:

    O MERCADO LIVRE É UMA PORCARIA MESMO, NEM UM CALCULADOR DE FRETE OFERECE PARA OS USUÁRIOS.

  25. Marcelo Korjenioski Says:

    Seria bom um cal­cu­la­dor de frete no ML aju­da­ria muita gente.

  26. Luiz Carlos Says:

    Olá amigo! temo como arru­mar este código já cori­gido para quen eu colo­que em meu site? http://comerciobr.com.br
    Ou se alguem tem outro melhor e mais prá­tico. Estou acei­tando ajuda.
    Obrigado

  27. Phaneronsoft » Blog Archive » Sistema para Calcular Frete SEDEX e PAC versão 1.1 ( PAC esta funcionando ) Says:

    […] Sis­tema para Cal­cu­lar Frete 1.1 […]

  28. Diogo Says:

    Não tes­tei o script, mas eu uso um simi­lar e não está mais fun­ci­o­nando o cal­culo do PAC. Parece que os cor­reios remo­veu o PAC desse cal­culo. Já ten­tei pas­sar as vari­a­veis que agora sao obri­ga­to­rias para cal­cu­lar o pac: o for­mato, com­pri­mento, lar­gura, altura, mas nada. Se alguem sou­ber de algo, da um toque, farei o mesmo. valeu.

  29. Marcelo Korjenioski Says:

    Ocor­reu uma mudança sim neste post vc vai encon­trar a nova docu­men­ta­ção e uma exem­plo do PAC funcionando.

  30. Diogo Says:

    Muito obri­gado cama­rada. Deu certo!

  31. Michael Says:

    Cara per­feito! Tudo que eu estava pre­ci­sando. É difi­cil encon­trar quem com­par­ti­lha infor­ma­ção assim. Obrigado!

  32. Marcelo Cajaíba Says:

    Olá o cal­culo do frete sem­pre arre­donda tipo se no site dos cor­reios eu cal­culo dá 17,20 no desse codigo dá 17,00 como cor­ri­gir isso

  33. Marcelo Korjenioski Says:

    Fiz uma alte­ra­ção no código. O pro­blema estava que nos cor­reios o valor vem com vir­gula e estava colo­cando o custo adi­ci­o­nal com ponto.
    Obri­gado pelo aviso.

Deixe um comentário

Designed by NattyWP Wordpress Themes.
Images by desEXign.