Ir ao conteúdo
  • Cadastre-se

COMO pegar os dados do carrinho de compras e por as variáveis no PagSeguro?


Posts recomendados

Boa Tarde! Alguém pode me ajudar? Não consigo receber os dados de quando clico em comprar, não recebe em pagseguro.php para enviar para o pagseguro.

Esta gravando no banco normal, mas quando clico em comprar abre a janela do pagseguro dizendo que o e-mail, valor, e descrição estão em branco sem dados.

tentei via (POST, GET, REQUIRE) e no banco (SELECT ) mas da erro.

 

Estou usando esses dois scripts , um para requisitar o pagseguro.php para enviar os dados para o pagseguro e o outro para gravar no banco. Os dois no mesmo botão de COMPRAR

***SEGUE SCRIPT:***

<!--INICIO PGSEGURO-->
    <script>
        function enviaPagseguro(){
        $.post('pagseguro.php','',function(data){
        $('#code').val(data);
        $('#comprar').submit();
        })
    }
    </script>
<!--FIM PGSEGURO-->
<!--GRAVAR CARRINHO NO BANCO-->
    <script>
        function enviaBanco(){
        $.post('salvarcompra.php','',function(data){
        $('#salvar').val(data);
        $('#enviar').submit();
        })
    }
    </script>
<!--GRAVAR CARRINHO NO BANCO-->

***SEGUE CARRINHO.PHP:***
<?php
                       header('Content-Type: text/html; charset=iso-8859-1');
                       error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
                      error_reporting(0);
                    ini_set("display_errors", 0 );

                     if(count($_SESSION['carrinho']) == 0){
                         echo '<table>';
                        echo '<tr><td colspan="6"><font color="#FD4949"><h4><i>Não há produto no carrinho</h4></i></td></tr>';
                     }else{
                        require("conexao.php");
                                                               $total = 0;
                        foreach($_SESSION['carrinho'] as $id => $qtde){
                              $sql   = "SELECT * FROM produtos WHERE id= '$id'";
                              $qr    = mysqli_query($conn, $sql) or die(mysql_error());
                              $ln    = mysqli_fetch_assoc($qr);
                          
                              $id = $ln['id'];
                            //$qtde = $ln['qtde'];
                              $imagem = $ln['imagem'];
                              $nome  = $ln['nome'];
                              $preco = $ln['preco'];
                              $sub   = $ln['preco'] * $qtde;
                               
                              $total += $ln['preco'] * $qtde . '<hr>';
                           echo '
                                   <tr>
                                   <td><img id="tmimg" src="themes/images/products/' . $ln['imagem'] . '"></td>
                                <td id="nomepro">'.$nome.'</td>
                                <td><input type="text" id="btnq" name="prod['.$id.']" value="'.$qtde.'" /></td>
                                <td>R$ '.number_format($preco, 2, ',','.').'</td>
                                <td>R$ '.number_format($sub, 2, ',','.').' </td>
                                <td><a class="btn btn-danger" id="btnr" href="?acao=del&id='.$id.'"><i class="icon-trash"></i> Excluir</a></td>
                                
                              </tr>'; 
                        }
                        
                        $total = number_format($total, 2, ',','.');
                        $_SESSION['valortotal'] = number_format($total, 2, ',','.');
                        echo '<tr>
                            <th id="tmtotal" colspan="5">Total a Pagar</th>
                            <th id="tmvalor"><font color="#FD4949"> R$ '.$total.'</th></font>
                            </tr>';
                         print '</form>'; <= Esse Form fecha o form do calculo e soma do carrinho up
                         
                         print '<td colspan="6"><button id="btnp" class="btn btn-large btn-success" onclick="enviaPagseguro()"><a onclick="enviaBanco()">PAGAR AGORA </a><span class="icon-credit-card" aria-hidden="true"></span></button></td>';//PAG SEGURO BOTÃO
       
//OBS: o Botão à cima, pelo onclick grava no banco e envia para o PagSeguro os dois de uma vez
                     }
//formulário que abre o PagSeguro
    print '</tbody>';
        print'<form id="comprar" action="https://pagseguro.uol.com.br/checkout/v2/payment.html" method="post" onsubmit="PagSeguroLightbox(this); return false;">';
        print '<input type="hidden" name="salvar" id="salvar" value="" />';
        print '<input type="hidden" name="code" id="code" value="" />';
        print '</form>';
        print '<script type="text/javascript" src="https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.lightbox.js"></scrip>';
    ?>

***SEGUE PAGSEGURO.PHP:***

<?php
require('conexao.php');                 //<= VIA POST NÃO RECEBE
$id = $_POST["id"];                       //<= VIA POST NÃO RECEBE
$qtde = $_POST["qtde"];              // <= VIA POST NÃO RECEBE
$nome = $_POST["nome"];          //<= VIA POST NÃO RECEBE
$preco = $_POST["preco"];         //<= VIA POST NÃO RECEBE
$sub = $_POST["sub"];                // <= VIA POST NÃO RECEBE
$total = $_POST["total"];               // <= VIA POST NÃO RECEBE

// $db = mysqli_select_db($conn, "loja");                   //<= VIA BANCO NÃO RECEBE
// $sql = mysqli_query($conn, "SELECT * FROM compras") or (mysqli_error($conn));              //<= VIA BANCO NÃO RECEBE
            
// //pecorrendo os registros da consulta. 
// while($ln = mysqli_fetch_assoc($sql)){                //<= VIA BANCO NÃO RECEBE
     //$id = $ln["id"];                                                    //<= VIA BANCO NÃO RECEBE
    // $qtde = $ln["qtde"];                                            //<= VIA BANCO NÃO RECEBE
     //$nome = $ln["nome"];                                       //<= VIA BANCO NÃO RECEBE
    // $preco = $ln["preco"];                                       //<= VIA BANCO NÃO RECEBE
    // $sub = $ln["sub"];                                              //<= VIA BANCO NÃO RECEBE
     //$total = $ln["total"];                                           //<= VIA BANCO NÃO RECEBE

$data['token'] ='35435345345345345345345345345345342';             //<= ESTE NÃO É O TOKEN REAL (mas eu estou usando o token real)
$data['email'] = '[email protected]';        // ESTOU USANDO E-MAIL REAL
$data['currency'] = 'BRL';
$data['itemId1'] = $id;                          //<= NÃO RECEBECE VALOR
$data['itemQuantity1'] = $qtde;           //<= NÃO RECEBECE VALOR
$data['itemDescription1'] = $nome;    //<= NÃO RECEBECE VALOR
$data['itemAmount1'] = $total;             //<= NÃO RECEBECE VALOR

$url = 'https://ws.pagseguro.uol.com.br/v2/checkout';

$data = http_build_query($data);

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
$xml= curl_exec($curl);

curl_close($curl);

$xml= simplexml_load_string($xml);
echo $xml -> code;
?>

 

Obrigado! 

Loja Virtual - Google Chrome.png

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!