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.
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.