PagSeguro: Exemplo para cálculo de frete

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.

Um comentário em “PagSeguro: Exemplo para cálculo de frete

  • 19 de julho de 2012 em 16:53
    Permalink

    Já tinha utilizado a biblioteca de retorno do pagseguro, mas nunca tinha usado a do frete, que neste momento precisei usar frete no carrinho e não estava me lembrando dela, valeu cara, foi de grande utilidade este post.

    Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *