RoseDsg 0 Denunciar post Postado Junho 17, 2010 Pessoal, li tudo possivel aqui e na net e não consegui solução do meu problema! Fiz o retorno automatico, criei o banco de dados e td funciona perfeito. O único problema é que não está entrando no banco de dados: ProdID, ProdDescricao,ProdValor e ProdQuantidade. Já fiz e refiz e nada do Pagseguro enviar estas informações pro meu BD... Minha tabela está da seguinte forma: CREATE TABLE `PagSeguroTransacoes` ( `TransacaoID` varchar(36) COLLATE latin1_general_ci NOT NULL, `VendedorEmail` varchar(200) COLLATE latin1_general_ci NOT NULL, `Referencia` varchar(200) COLLATE latin1_general_ci DEFAULT NULL, `TipoFrete` char(2) COLLATE latin1_general_ci DEFAULT NULL, `ValorFrete` decimal(10,2) DEFAULT NULL, `Extras` decimal(10,2) DEFAULT NULL, `Anotacao` text COLLATE latin1_general_ci, `TipoPagamento` varchar(50) COLLATE latin1_general_ci NOT NULL, `StatusTransacao` varchar(50) COLLATE latin1_general_ci NOT NULL, `CliNome` varchar(200) COLLATE latin1_general_ci NOT NULL, `CliEmail` varchar(200) COLLATE latin1_general_ci NOT NULL, `CliEndereco` varchar(200) COLLATE latin1_general_ci NOT NULL, `CliNumero` varchar(10) COLLATE latin1_general_ci DEFAULT NULL, `CliComplemento` varchar(100) COLLATE latin1_general_ci DEFAULT NULL, `CliBairro` varchar(100) COLLATE latin1_general_ci NOT NULL, `CliCidade` varchar(100) COLLATE latin1_general_ci NOT NULL, `CliEstado` char(2) COLLATE latin1_general_ci NOT NULL, `CliCEP` varchar(9) COLLATE latin1_general_ci NOT NULL, `CliTelefone` varchar(14) COLLATE latin1_general_ci DEFAULT NULL, `ProdID` text COLLATE latin1_general_ci, `ProdDescricao` text COLLATE latin1_general_ci, `ProdValor` text COLLATE latin1_general_ci, `ProdQuantidade` text COLLATE latin1_general_ci, `ProdFrete` text COLLATE latin1_general_ci, `ProdExtras` text COLLATE latin1_general_ci, `NumItens` int(11) NOT NULL, `enviado` varchar(50) COLLATE latin1_general_ci NOT NULL, `status` text COLLATE latin1_general_ci NOT NULL, `ip` text COLLATE latin1_general_ci NOT NULL, `datahora` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `data` date NOT NULL DEFAULT '0000-00-00', `hora` time NOT NULL DEFAULT '00:00:00', PRIMARY KEY (`TransacaoID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci Alguem pode me informar onde estou errando??? Compartilhar este post Link para o post Compartilhar em outros sites
Douglas 6 Denunciar post Postado Junho 18, 2010 Faça o seguinte teste. Faça um dump dos dados enviados pelo PagSeguro, e envia para o seu e-mail. Veja se todas as váriaveis estão sendo recebidas corretamente. Compartilhar este post Link para o post Compartilhar em outros sites
RoseDsg 0 Denunciar post Postado Junho 18, 2010 Faça o seguinte teste. Faça um dump dos dados enviados pelo PagSeguro, e envia para o seu e-mail. Veja se todas as váriaveis estão sendo recebidas corretamente. Oi Douglas obrigada pela resposta! fiz o dump pro email e tá tudo certo... continuo sem entender o pq q não entra os dados ainda... Alguma outra solução? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 22, 2010 Estou com o mesmo problema, nem insere nem faz update Compartilhar este post Link para o post Compartilhar em outros sites
RoseDsg 0 Denunciar post Postado Junho 22, 2010 Estou com o mesmo problema, nem insere nem faz update Alaerte o meu tem feito update o problema mesmo é o valor e quantidade e o nome do produto... não sei o pq do erro ainda!!! Alguem dá uma luz ai pra gente??????? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 23, 2010 Como você está usando a página de retorno automático ? Compartilhar este post Link para o post Compartilhar em outros sites
RoseDsg 0 Denunciar post Postado Junho 23, 2010 Como você está usando a página de retorno automático ? Alaerte aq no forum encontrei este retorno.php: <? ############################################################## # CONFIGURAÇÕES ############################################################## $retorno_site = 'http://www.meusite.com.br/retorno.php'; // Site para onde o usuário vai ser redirecionado $retorno_token = 'xxxxxx'; // Token gerado pelo PagSeguro $retorno_host = 'xxxx'; // Local da base de dados MySql $retorno_database = 'xxxx'; // Nome da base de dados MySql $retorno_usuario = 'xxxxx'; // Usuario com acesso a base de dados MySql $retorno_senha = 'xxxxx'; // Senha de acesso a base de dados MySql ############################################################## # NÃO ALTERE DESTA LINHA PARA BAIXO ################################################################ $lnk = mysql_connect($retorno_host, $retorno_usuario, $retorno_senha) or die ('Nao foi possível conectar ao MySql: ' . mysql_error()); mysql_select_db($retorno_database, $lnk) or die ('Nao foi possível ao banco de dados selecionado no MySql: ' . mysql_error()); // Validando dados no PagSeguro $PagSeguro = 'Comando=validar'; $PagSeguro .= '&Token=' . $retorno_token; $Cabecalho = "Retorno PagSeguro"; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $PagSeguro .= "&$key=$value"; } if (function_exists('curl_exec')) { $curl = true; } elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) ) { $fsocket = true; } elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30)) { $fsocket = true; } if ($curl == true) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); $resp = curl_exec($ch); curl_close($ch); $confirma = (strcmp ($resp, "VERIFICADO") == 0); } elseif ($fsocket == true) { $Cabecalho = "POST /Security/NPI/Default.aspx HTTP/1.0\r\n"; $Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n"; $Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n"; if ($fp || $errno>0) { fputs ($fp, $Cabecalho . $PagSeguro); $confirma = false; $resp = ''; while (!feof($fp)) { $res = @fgets ($fp, 1024); $resp .= $res; if (strcmp ($res, "VERIFICADO") == 0) { $confirma=true; break; } } fclose ($fp); } else { echo "$errstr ($errno)<br />\n"; } } if ($confirma) { // Recebendo Dados $TransacaoID = $_POST['TransacaoID']; $VendedorEmail = $_POST['VendedorEmail']; $Referencia = $_POST['Referencia']; $ProdID = $_POST['ProdID']; $ProdDescricao = $_POST['ProdDescricao']; $ProdValor = $_POST['ProdValor']; $ProdQuantidade = $_POST['ProdQuantidade']; $TipoFrete = $_POST['TipoFrete']; $ValorFrete = $_POST['ValorFrete']; $Extras = $_POST['Extras']; $Anotacao = $_POST['Anotacao']; $TipoPagamento = $_POST['TipoPagamento']; $StatusTransacao = $_POST['StatusTransacao']; $CliNome = $_POST['CliNome']; $CliEmail = $_POST['CliEmail']; $CliEndereco = $_POST['CliEndereco']; $CliNumero = $_POST['CliNumero']; $CliComplemento = $_POST['CliComplemento']; $CliBairro = $_POST['CliBairro']; $CliCidade = $_POST['CliCidade']; $CliEstado = $_POST['CliEstado']; $CliCEP = $_POST['CliCEP']; $CliTelefone = $_POST['CliTelefone']; $NumItens = $_POST['NumItens']; // Gravando Dados mysql_query("INSERT into PagSeguroTransacoes SET TransacaoID='$TransacaoID', VendedorEmail='$VendedorEmail', Referencia='$Referencia', ProdID='$ProdID', ProdDescricao='$ProdDescricao', ProdValor='$ProdValor', ProdQuantidade='$ProdQuantidade', TipoFrete='$TipoFrete', ValorFrete='$ValorFrete', Extras='$Extras', Anotacao='$Anotacao', TipoPagamento='$TipoPagamento', StatusTransacao='$StatusTransacao', CliNome='$CliNome', CliEmail='$CliEmail', CliEndereco='$CliEndereco', CliNumero='$CliNumero', CliComplemento='$CliComplemento', CliBairro='$CliBairro', CliCidade='$CliCidade', CliEstado='$CliEstado', CliCEP='$CliCEP', CliTelefone='$CliTelefone', NumItens='$NumItens', Data=now();"); } Header("Location: $retorno_site"); exit(); mysql_free_result($Recordset1); ?> Já li posts aqui q teria q alterar o código para a variavel $produtos e dai em diante array de 'prodID' etc... mas não sei como alterar o código dessa forma... Poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Comunicação PagSeguro 0 Denunciar post Postado Junho 24, 2010 Pessoal, li tudo possivel aqui e na net e não consegui solução do meu problema! Fiz o retorno automatico, criei o banco de dados e td funciona perfeito. O único problema é que não está entrando no banco de dados: ProdID, ProdDescricao,ProdValor e ProdQuantidade. Já fiz e refiz e nada do Pagseguro enviar estas informações pro meu BD... Minha tabela está da seguinte forma: CREATE TABLE `PagSeguroTransacoes` ( `TransacaoID` varchar(36) COLLATE latin1_general_ci NOT NULL, `VendedorEmail` varchar(200) COLLATE latin1_general_ci NOT NULL, `Referencia` varchar(200) COLLATE latin1_general_ci DEFAULT NULL, `TipoFrete` char(2) COLLATE latin1_general_ci DEFAULT NULL, `ValorFrete` decimal(10,2) DEFAULT NULL, `Extras` decimal(10,2) DEFAULT NULL, `Anotacao` text COLLATE latin1_general_ci, `TipoPagamento` varchar(50) COLLATE latin1_general_ci NOT NULL, `StatusTransacao` varchar(50) COLLATE latin1_general_ci NOT NULL, `CliNome` varchar(200) COLLATE latin1_general_ci NOT NULL, `CliEmail` varchar(200) COLLATE latin1_general_ci NOT NULL, `CliEndereco` varchar(200) COLLATE latin1_general_ci NOT NULL, `CliNumero` varchar(10) COLLATE latin1_general_ci DEFAULT NULL, `CliComplemento` varchar(100) COLLATE latin1_general_ci DEFAULT NULL, `CliBairro` varchar(100) COLLATE latin1_general_ci NOT NULL, `CliCidade` varchar(100) COLLATE latin1_general_ci NOT NULL, `CliEstado` char(2) COLLATE latin1_general_ci NOT NULL, `CliCEP` varchar(9) COLLATE latin1_general_ci NOT NULL, `CliTelefone` varchar(14) COLLATE latin1_general_ci DEFAULT NULL, `ProdID` text COLLATE latin1_general_ci, `ProdDescricao` text COLLATE latin1_general_ci, `ProdValor` text COLLATE latin1_general_ci, `ProdQuantidade` text COLLATE latin1_general_ci, `ProdFrete` text COLLATE latin1_general_ci, `ProdExtras` text COLLATE latin1_general_ci, `NumItens` int(11) NOT NULL, `enviado` varchar(50) COLLATE latin1_general_ci NOT NULL, `status` text COLLATE latin1_general_ci NOT NULL, `ip` text COLLATE latin1_general_ci NOT NULL, `datahora` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `data` date NOT NULL DEFAULT '0000-00-00', `hora` time NOT NULL DEFAULT '00:00:00', PRIMARY KEY (`TransacaoID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci Alguem pode me informar onde estou errando??? ProdID, ProdDescricao, ProdValor e ProdQuantidade são arrays, portanto podem conter mais de um item. Neste caso você precisará criar uma forma de percorrer estes arrays e armazenar as informações no DB. http://forum.imasters.com.br/index.php?/topic/331291-retorno-automatico-do-pagseguro-implementacao-em-php/ Compartilhar este post Link para o post Compartilhar em outros sites
RoseDsg 0 Denunciar post Postado Julho 10, 2010 Brigadão pela resposta! Mas mesmo assim não consegui, peço a alguem q saiba um orçamento sobre os codigos prontos. Compartilhar este post Link para o post Compartilhar em outros sites