Página de retorno Pagseguro

4 views
Skip to first unread message

Zaira Amorim

unread,
Jun 8, 2012, 9:38:39 AM6/8/12
to list...@googlegroups.com, php...@googlegroups.com
Bom dia Gente,


Estou com um problema na página de retorno do pagseguro. Acontece que algumas vezes ele não ta fazendo atualização no meu banco de dados. Gostaria de saber o que ta acontecendo, se alguem puder me ajudar agradeço. Segue abaixo meu trecho do código.


<?php
                    if (count($_POST) > 0) {
                            // POST recebido, indica que é a requisição do NPI.
                            $npi = new PagSeguroNpi();
                            $result = $npi->notificationPost();
                   
                            $transacaoID = isset($_POST['TransacaoID']) ? $_POST['TransacaoID'] : '';
                   
                            if ($result == "VERIFICADO") {
                       
                                     $Referencia = $_POST['Referencia'];
                                     $StatusTransacao = $_POST['StatusTransacao'];
                                     
                                     list($idUsuario, $idCompra, $idcupom) = explode("-", $Referencia);
                                     
                                     mysql_query("update compras set status='$StatusTransacao' where id='$idCompra' and usuario_id='$idUsuario'");
                                     
                                     $compra = mysql_fetch_object(mysql_query("SELECT * FROM compras WHERE id='$idCompra' and usuario_id='$idUsuario'"));
                                     
                                     $cupom = mysql_query("SELECT * FROM cupom WHERE compra_id='$compra->id'");
                                     
                                     while($c=mysql_fetch_object($cupom)){
                                     
                                     
                                     
                                         switch($compra->status){
                                            case "Em Análise":
                                                mysql_query("update cupom set status='0' where compra_id='$compra->id' and usuario_id='$idUsuario'");
                                             break;
                                             case "Aguardando Pagto":                               
                                                    mysql_query("update cupom set status='0' where compra_id='$compra->id' and usuario_id='$idUsuario'");
                                                break;   
                                            case "Aprovado":
                                                mysql_query("update cupom set status='1' where compra_id='$compra->id' and usuario_id='$idUsuario'");
                                                 break;
                                            case "Completo":
                                                mysql_query("update cupom set status='1' where compra_id='$compra->id' and usuario_id='$idUsuario'");
                                                 break;
                                            case "Cancelado":
                                                mysql_query("update cupom set status='2' where compra_id='$compra->id' and usuario_id='$idUsuario'");
                                                 break;
                                            case "Devolvido":                               
                                                    mysql_query("update cupom set status='3' where compra_id='$compra->id' and usuario_id='$idUsuario'");
                                                break;   
                                                   
   
                                                 }
                                         }
                                     
                                     $f=fopen ('pagseguro.log', 'a');
                                     
                                    // fwrite($f, $idCli . "XXX" . $idCom . "\r\n");
                                    fwrite($f, $idUsuario . "XXX" . $idCompra."\r\n");
                                    fwrite($f, "\r\n---------\r\n\r\n");
                                    fclose($f); 
                                   
                                    }
                               
   
                } else {
                        // POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro.
                        // No término do checkout o usuário é redirecionado para este bloco.
                       
                       
    ?>

--
Zaira Amorim
Desenvolvedora de Sistemas
Reply all
Reply to author
Forward
0 new messages