PagSeguro: Exemplo para cálculo de frete

    Obrigado! você é a 1.285ª pessoa que visita este post.

    Olá pessoal,

    aprenda neste post como calcular o frete utilizando a biblioteca PHP disponibilizada pelo PagSeguro.

    O PagSeguro disponibiliza o cálculo de frete para envio via Sedex (SD) e PAC (EN).

    O valor é calculado em cima do peso e do valor dos produtos. Lembrando que as informações de “peso” e “valor” devem ser passados os totais.

    exemplo:
    produto 1
    valor: 10,00
    peso: 10g

    produto 2
    valor: 20,00
    peso: 15g

    peso total: 25g -> deve converter para kg = 0.025

    $frete->gerar($CEP_ORIGEM, ’0.025′, ’30,00′, $CEP_DESTINO);

    Os parâmetros referente ao cep de origem e destino podem conter o tracinho (12345-678) ou não (12345678).

    Vamos ao código completo de exemplo:
    - basta copiar todo o código abaixo e incluir no mesmo diretório das bibliotecas.

    calculo-frete.php

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Peso Total: 0.07kg
    <br/>
    Valor Total: 1999,99
    <br/><br/>
    <form name="frete" action="" method="post">
       <input type="radio" name="tipoEntrega" value="SD" onClick="submit();" <? if($_POST['tipoEntrega']== "SD" ){ echo "CHECKED"; }?> /> SEDEX<br/>
       <input type="radio" name="tipoEntrega" value="EN" onClick="submit();" <? if($_POST['tipoEntrega']== "EN" ){ echo "CHECKED"; }?> /> PAC<br/>
       <input type="radio" name="tipoEntrega" value="FG" onClick="submit();" <? if($_POST['tipoEntrega']== "FG" ){ echo "CHECKED"; }?> /> FRETE GRATIS<br/>
    </form> 
     
    <?
    if ($_POST && isset($_POST['tipoEntrega'])){
       $tipoEntrega = $_POST['tipoEntrega'];
     
       // DEFININDO OS VALORES
       $CEP_ORIGEM = '11060-000'; // SP
       $PESO = '0.07';
       $VALOR = '1999,99';
       $CEP_DESTINO = '13015-904'; // CAMPINAS
     
       // CHAMADA DO ARQUIVO QUE CONTEM A CLASSE PgsFrete()
       require_once('frete.php');
       // INSTANCIANDO A CLASSE
       $frete = new PgsFrete;
       // ZERANDO VALORES
       $valorFrete = 0.0;
       // CALCULANDO O FRETE
       $valorFrete = $frete->gerar($CEP_ORIGEM, $PESO, $VALOR, $CEP_DESTINO);
       // CONDIÇÃO
       if($tipoEntrega == "SD" || $tipoEntrega == "EN") {
          if(is_array($valorFrete)) {
             if($tipoEntrega == "SD") {
                echo "Sedex: R$ " . $valorFrete["Sedex"];
             } else {
    	    echo "Encomenda econômica (PAC): R$ " . $valorFrete["PAC"];
             }
          }
       }else{
             $valorFrete = "0.00";
    	 echo "FRETE GRATIS: ".$valorFrete;
       }
    }
    ?>

    Espero que gostem e seja útil a comunidade.

    Abraços.

    Related posts:

    1. PHP: Trabalhando o resultado obtido de uma consulta sql
    2. Sistemas: Gerenciador de fotos estilo orkut
    3. JavaScript: getElementById (Exemplo)