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
Peso Total: 0.07kg
Valor Total: 1999,99
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.