admin 3 Denunciar post Postado Julho 10, 2008 Dica enviada por Dennis Ferreira, Gerente do PagSeguro. A URL de retorno tem duas funções distintas. Uma é redirecionar o usuário após terminar a transação no PagSeguro para o site da loja, apenas redirecionando à página, sem nenhum dado de POST. A outra é enviar os dados da transação e alteração de status da transação via POST. O POST é automático, enviado ao final da transação e quando ocorre alteração do status, ambos em background, abrindo uma nova sessão no seu web site. Não é possível a exibição imediata no seu web site dos dados do post (echo, print, Response.Write, etc). Alguns desenvolvedores enfrentam situações em que não conseguem receber o POST. Seguem abaixo os principais motivos e dicas para resolução do problema: - É necessário que o website e a URL de retorno estejam hospedados em um domínio válido. - Não poderá ser uma aplicação local (você nunca conseguirá receber os dados em um ambiente local, como “localhost” por exemplo). - O código de NPI (Notificação de Pagamento Instantâneo) não conseguirá ler valores de Sessions ou Cookies, porque assim que o PagSeguro envia o POST para o seu web site, é aberta uma nova sessão (conforme mencionado acima). - Não há restrições de saída no PagSeguro, mas caso você não esteja recebendo nenhum dado do PagSeguro, verifique no seu firewall a liberação do IP de POST do NPI: 200.221.19.20 e IP de Redirecionamento simples: 200.221.19.4. - Servidor configurado em uma porta da 80 (HTTP) ou 443 (HTTPS). - Não é possível imprimir nenhum campo do post no momento do recebimento do mesmo (echo, print, Response.Write, etc). - As informações deverão ser salvas em seu banco de dados, arquivo texto ou XML no momento do recebimento. - A programação do retorno automático deve enviar de volta para o PagSeguro todos os campos recebidos no POST, mais o comando=validar e o token=”Seu Token”. - Use o token de segurança para validação da transação. - Retorne os dados para validação sem nenhuma conversão, exatamente da maneira como recebeu (verifique se a sua string está sendo enviada com Encode, por exemplo: “%20” ou o sinal de adição “+” substituindo o espaço, etc). - É muito importante sempre colocar um debug em seu código, salvando o erro do debug no seu banco de dados para analisar onde e porque ocorreu o erro no momento do retorno. - O script em nossa página é apenas ilustrativo, cada desenvolvedor altera de acordo com o próprio sistema. - Observe todos esses itens, e se ainda você não conseguir receber o POST, entre em contato com nosso suporte técnico, clicando em Atendimento após logar em conta PagSeguro. Bons negócios! Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 11, 2008 Muito bom. Compartilhar este post Link para o post Compartilhar em outros sites
Roberto F. 0 Denunciar post Postado Julho 17, 2008 Boa Tarde Legal saber essas informações primeiramente, elas não constam no próprio site do PagSeguro Em segundo, se possível, gostaria de saber as codificações em coldFusion no PagSeguro, está tudo totalmente errado o código é bem diferente e bem mais simples do que eles fizeram entretanto há um grande problema.... qual é o CHARSET?? Se você recebe os dados, meu servidor trata tudo como UFT-8 Mas no PagSeguro, não sei como retornar isso Não há nenhum FAQ, nem area de teste você nem sabe como receber, nem como retornar. Torna-se dificil Primeiro Tentei Encoders na variavel tipopagamento passei da seguinte maneira 1 - Cartão de Crédito 2 - Cart%40a de Cre%29dito Nenhuma das alternativas.... Em PHP, como não programo, apenas copiei o código mesmo assim, o bando de dados (table) gerada por eles é bem diferente da que eles usaram no código para inserir. Queria algumas respostas, já que no site, nem os atendentes conseguem passar... Compartilhar este post Link para o post Compartilhar em outros sites
Reginaldo Noronha 0 Denunciar post Postado Julho 30, 2008 Estou comercializando um código feito em C#.NET e PHP do retorno automatico do PagSeguro. Caso haja interesse. http://www.reginaldonoronha.net/produtos.aspx Abraço Boa Tarde Legal saber essas informações primeiramente, elas não constam no próprio site do PagSeguro Em segundo, se possível, gostaria de saber as codificações em coldFusion no PagSeguro, está tudo totalmente errado o código é bem diferente e bem mais simples do que eles fizeram entretanto há um grande problema.... qual é o CHARSET?? Se você recebe os dados, meu servidor trata tudo como UFT-8 Mas no PagSeguro, não sei como retornar isso Não há nenhum FAQ, nem area de teste você nem sabe como receber, nem como retornar. Torna-se dificil Primeiro Tentei Encoders na variavel tipopagamento passei da seguinte maneira 1 - Cartão de Crédito 2 - Cart%40a de Cre%29dito Nenhuma das alternativas.... Em PHP, como não programo, apenas copiei o código mesmo assim, o bando de dados (table) gerada por eles é bem diferente da que eles usaram no código para inserir. Queria algumas respostas, já que no site, nem os atendentes conseguem passar... Compartilhar este post Link para o post Compartilhar em outros sites
guilherme_z3web 0 Denunciar post Postado Outubro 1, 2008 Segui todas as indicações, mas não deu certo, não dá nenhum erro, nada. simplesmente não acontece nada. Segue abaixo o código da pagina de retorno. Se puder me ajudar, // ENVIA DE VOLTA PARA O PAGSEGURO OS DADOS PARA VALIDAÇÃO $PagSeguro = 'Comando=validar'; $PagSeguro .= "&Token=65937252FE57C81FC5E62A49581577BB"; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $PagSeguro .= "&$key=$value"; } $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 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); $resp = curl_exec($ch); echo curl_errno($ch); curl_close($ch); $confirma = (strcmp ($resp, "VERIFICADO") == 0); if($confirma){ $TransacaoID = $_POST['TransacaoID']; $Referencia = $_POST['Referencia']; $StatusTransacao = $_POST['StatusTransacao']; $CliNome = $_POST['CliNome']; $NumItens = $_POST['NumItens']; $ProdValor = $_POST['ProdValor_1']; $SQL = "INSERT INTO TransacoesPagSeguro (" . "TransacaoID, " . "Referencia, " . "StatusTransacao, " . "CliNome, " . "NumItens" . ") VALUES (" . "" . "'" . $TransacaoID . "', " . "'" . $Referencia . "', " . "'" . $StatusTransacao . "', " . "'" . $CliNome . "', " . "'" . $NumItens . "'" . ")"; //$Executa = mysql_query($SQL) or print(mysql_error()); $id_pedido=$Referencia; $sql_pedido="update pedido set pagamento='$TipoPagamento', status='$StatusTransacao' where id_pedido='$Referencia'"; $exe = mysql_query($sql_pedido); $id_pedido=$Referencia; $sql_data="select data_pedido from pedido where id_pedido='$id_pedido'"; $res_data=mysql_query($sql_data) or die (mysql_error()); $l_data=mysql_fetch_row($res_data); $data_pedido=$l_data[0]; } else { } Grato GUilherme Compartilhar este post Link para o post Compartilhar em outros sites
sergio costa 0 Denunciar post Postado Outubro 20, 2008 Pessoal, Disponibilizei em meu website um código COMPLETO desenvolvido em .NET com muitos comentários, excelente para aprendizado e inserção direta no seu website. Os códigos estão disponíveis em C#.net (http://www.oticasnet.com.br/Downloads/NPIPagSeguroCS.zip) e em VB.net (http://www.oticasnet.com.br/Downloads/NPIPagSeguroVB.zip) Os próprios projetos são auto-explicativos, ou seja, não há documentação para os mesmos. Mesmo sendo desenvolvido em .NET, pode ser facilmente traduzido para outra linguagem, visto que o código está muito detalhado. Qualquer dúvida, postar aqui. []'s Compartilhar este post Link para o post Compartilhar em outros sites
mmx 0 Denunciar post Postado Novembro 14, 2008 Então cara, estou com um problema parecido com o seu, apesar de meu código ser em FLASH. No retorno do Carrinho do PAGSEGURO, não aparece o botão de CONTINUAR COMPRANDO. Mas o incrível é que ele só não aparece no INTERNET EXPLORER, pois no MOZILA acontece tudo como deveria, como você disse, o bendito botão que não aparece no EXPLORER aparece no MOZILA! Pelo que entendi, não somos apenas nós que tropeçamos neste problema do PAGSEGURo que aliás, já fiz infinitos contatos através do site deles e o atendente responde algo sem nexo, ainda dizendo que desconhece o problema, mesmo eu enviando o endereço do meu site para ele testar "in loco". O safado diz que testou e deu TUDO CERTO! É mole??? Bom, em vista de nosso problema em comum, gostaria de saber se você conseguiu resolvê-lo e se pode me ajudar. Um abraço! Pessoal, Disponibilizei em meu website um código COMPLETO desenvolvido em .NET com muitos comentários, excelente para aprendizado e inserção direta no seu website. Os códigos estão disponíveis em C#.net (http://www.oticasnet.com.br/Downloads/NPIPagSeguroCS.zip) e em VB.net (http://www.oticasnet.com.br/Downloads/NPIPagSeguroVB.zip) Os próprios projetos são auto-explicativos, ou seja, não há documentação para os mesmos. Mesmo sendo desenvolvido em .NET, pode ser facilmente traduzido para outra linguagem, visto que o código está muito detalhado. Qualquer dúvida, postar aqui. []'s Compartilhar este post Link para o post Compartilhar em outros sites
jstecnologia 0 Denunciar post Postado Dezembro 5, 2008 SOLUÇÃO DA PÁGINA DE RETORNO PAGSEGURO Link do Post: http://forum.imasters.com.br/index.php?showtopic=319915 Compartilhar este post Link para o post Compartilhar em outros sites
Michael Granados 0 Denunciar post Postado Fevereiro 11, 2009 Você também pode usar a solução (grátis e livre) da biblioteca de auxilio disponibilizada pelo próprio PagSeguro. Escrevi dois tópicos que explicam bem como usar tanto o retorno automático como a biblioteca de auxilio à criação de inputs para o PagSeguro. Retorno automático do PagSeguro + implementação em PHP, Explicação de como funciona o retorno automático do PagSeguro Implementando PagSeguro com PHP, Tutorial de como implementar a biblioteca PHP de PagSeguro Compartilhar este post Link para o post Compartilhar em outros sites
F_Castel 0 Denunciar post Postado Março 10, 2009 Senhores, Me esclareçam uma dúvida. Estou usando o Joomla 1.5 com virtuemart. Primeiramente instalei o código do pagseguro forncido pela Visie, ao realizar a compra sou direcionado para o site do pagseguro para cadastro e emissão do boleto. Até aí normal. Qual seria a função do código de retorno utilizando o Virtuemart? O status da negociação mudaria automaticamente, tipo sairia de pendente para completa após o comprador efetuar o pagamento para o pagseguro, ou este tipo de controle deverá ser feito manualmente pelo administrador do virtuemart após receber o e-mail de pagamento realizado. Compartilhar este post Link para o post Compartilhar em outros sites
Michael Granados 0 Denunciar post Postado Março 11, 2009 Meu caro @F_Castel exatamente isso. O retorno automático converte compras "pendentes" para "completa" assim você não precisa entrar no sistema PagSeguro e no seu admin para saber o que está acontecendo. Bote em tese que você tenha uma média de 500 compras por dia, você não iria achar legal ter que cadastrar na mão o que está pendente ou não. Compartilhar este post Link para o post Compartilhar em outros sites
F_Castel 0 Denunciar post Postado Março 13, 2009 Meu caro @F_Castel exatamente isso. O retorno automático converte compras "pendentes" para "completa" assim você não precisa entrar no sistema PagSeguro e no seu admin para saber o que está acontecendo. Bote em tese que você tenha uma média de 500 compras por dia, você não iria achar legal ter que cadastrar na mão o que está pendente ou não. Michael Granados, Você acha viável adaptar o sistema do Paypal para o PagSeguro, Mudando as variáveis para que se adequem a este, tipo, incluir o Token, comando Validar. Depois alterar o Notify.php do paypal para pagseguro... Alterar o ps_paypal.cfg.php, ps_paypal.php e notyfy.php Vou fazer uns testes o posto para teus comentários. Compartilhar este post Link para o post Compartilhar em outros sites
Michael Granados 0 Denunciar post Postado Março 13, 2009 Então @F_Castel, O código fornecido pela Visie já está predefinido para você trabalhar já com o retorno automático, não precisa usar o do PayPall, até porque os sistemas são diferentes. Por exemplo, o pagseguro usa a mesma url de retorno para o envio de confirmação, já o PayPall não. Compartilhar este post Link para o post Compartilhar em outros sites
McLuck 0 Denunciar post Postado Maio 20, 2009 - Retorne os dados para validação sem nenhuma conversão, exatamente da maneira como recebeu (verifique se a sua string está sendo enviada com Encode, por exemplo: “%20” ou o sinal de adição “+” substituindo o espaço, etc). Estou com um problema com o Retorno Automático. Minha aplicação está em Java(JSP/Servlet) e meu retorno automático SEMPRE retorna "Falso". Lendo na internet, vi que os possíveis problemas são: - Token incorreto; - Encode; Bom, os dois ítens estão sendo seguidos à risca. Não encontro nenhum problema no código, entretanto não consigo fazer funcionar. Receio que seja o velho problema de encode. Em Java, não simplesmente faz-se encode, como nas outras linguagens. Antigamente, usava-se "URLEncoder.encode(String);" para fazero encode, entretanto, por motivos de, digamos, "variações de um servidor para outro", que poderia ora fazer o decode de uma forma ora de outra, este método foi depreciado (tornou-se obsoleto). Hoje, o usado é URLEncoder.encode(String, "UTF-8"); Entretanto, ainda retorna Falso para minha confirmação. Não importa qual codificação eu utilizo (seja UTF-8, que é o padrão, seja ISO-8859-1, que é o usado no encod do envio no formulário ao pagseguro). Bom, talvez o erro nem esteja neste ponto, entretanto, posso ver meu log e minha URL está montada perfeitamente, mas não é autenticado nunca. Gostaria de saber se alguém tem alguma noção de como eu posso resolver este problema. Grato, McLuck Compartilhar este post Link para o post Compartilhar em outros sites
georgewar 1 Denunciar post Postado Julho 28, 2009 Existe um erro no script do envio do POST do PagSeguro! (Ou pelo menos falta de aviso da parte de vocês na hora de configuração da URL de retorno). O script de vocês não consegue retornar para urls que contêm QUERY_STRING. Por exemplo: http://www.bijuonline.com/BijuOnline/teste.php ENVIA COM SUCESSO! http://www.bijuonline.com/BijuOnline/?act=retorno NÂO ENVIA COM SUCESSO! Compartilhar este post Link para o post Compartilhar em outros sites
Felipe Sena 0 Denunciar post Postado Dezembro 9, 2009 Configurei conforme o código do Michael mas o retorno vem vazio! O logo ta vazio, vazio! E agora quem poderá me ajudar? // Aqui vai seu Token define('TOKEN','9999999999999999999999'); // Função que captura os dados do retorno function retorno_automatico ( $VendedorEmail, $TransacaoID, $Referencia, $TipoFrete, $ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento, $StatusTransacao, $CliNome, $CliEmail, $CliEndereco, $CliNumero, $CliComplemento, $CliBairro, $CliCidade, $CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens) { $f=fopen ('pagseguro.log', 'w'); # o "a" é para ele "appendar" o conteúdo, ou seja, colocar ao final fwrite($f, "'Dados Verificados! Agora minha função funciona normalmente.'\n"); # escrevendo a mensagem, mais uma quebra de linha fwrite($f, var_export(array ($VendedorEmail, $TransacaoID, $Referencia, $TipoFrete, $ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento, $StatusTransacao, $CliNome, $CliEmail, $CliEndereco, $CliNumero, $CliComplemento, $CliBairro, $_POST['CliCidade'], $CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens), true)); # imprime os dados no arquivo de log fwrite($f, "\nSQL: INSERT INTO PagSeguroTransacoes (TransacaoID, Referencia, CliNome, CliEmail, datahora, StatusTransacao, ProdDescricao, ProdValor) VALUES ('$TransacaoID','$Referencia', '$CliNome','$CliEmail','$DataTransacao','$StatusTransacao', '{$produtos[0]['ProdDescricao']}','{$produtos[0]['ProdValor']}')\n"); fwrite($f, "\n---------\n\n"); # um espaço para separar as ocorrencias fclose($f); } // Incluindo o arquivo da biblioteca include('retorno.php'); if (isset($_POST)) { $f=fopen ('pagseguro2.log', 'w'); # o "a" é para ele "appendar" o conteúdo, ou seja, colocar ao final fwrite($f, "'Recebeu o post, verificando junto ao PagSeguro'\n"); # escrevendo a mensagem, mais uma quebra de linha fwrite($f, var_export( $_POST, true)); # imprime os dados no arquivo de log fwrite($f, "\n---------\n\n"); # um espaço para separar as ocorrencias fclose($f); } Compartilhar este post Link para o post Compartilhar em outros sites
KillerTiger 0 Denunciar post Postado Janeiro 12, 2010 Impressionante... será que um dia irá voltar a funcionar??? Dica enviada por Dennis Ferreira, Gerente do PagSeguro. A URL de retorno tem duas funções distintas. Uma é redirecionar o usuário após terminar a transação no PagSeguro para o site da loja, apenas redirecionando à página, sem nenhum dado de POST. A outra é enviar os dados da transação e alteração de status da transação via POST. O POST é automático, enviado ao final da transação e quando ocorre alteração do status, ambos em background, abrindo uma nova sessão no seu web site. Não é possível a exibição imediata no seu web site dos dados do post (echo, print, Response.Write, etc). Alguns desenvolvedores enfrentam situações em que não conseguem receber o POST. Seguem abaixo os principais motivos e dicas para resolução do problema: - É necessário que o website e a URL de retorno estejam hospedados em um domínio válido. - Não poderá ser uma aplicação local (você nunca conseguirá receber os dados em um ambiente local, como “localhost” por exemplo). - O código de NPI (Notificação de Pagamento Instantâneo) não conseguirá ler valores de Sessions ou Cookies, porque assim que o PagSeguro envia o POST para o seu web site, é aberta uma nova sessão (conforme mencionado acima). - Não há restrições de saída no PagSeguro, mas caso você não esteja recebendo nenhum dado do PagSeguro, verifique no seu firewall a liberação do IP de POST do NPI: 200.221.19.20 e IP de Redirecionamento simples: 200.221.19.4. - Servidor configurado em uma porta da 80 (HTTP) ou 443 (HTTPS). - Não é possível imprimir nenhum campo do post no momento do recebimento do mesmo (echo, print, Response.Write, etc). - As informações deverão ser salvas em seu banco de dados, arquivo texto ou XML no momento do recebimento. - A programação do retorno automático deve enviar de volta para o PagSeguro todos os campos recebidos no POST, mais o comando=validar e o token=”Seu Token”. - Use o token de segurança para validação da transação. - Retorne os dados para validação sem nenhuma conversão, exatamente da maneira como recebeu (verifique se a sua string está sendo enviada com Encode, por exemplo: “%20” ou o sinal de adição “+” substituindo o espaço, etc). - É muito importante sempre colocar um debug em seu código, salvando o erro do debug no seu banco de dados para analisar onde e porque ocorreu o erro no momento do retorno. - O script em nossa página é apenas ilustrativo, cada desenvolvedor altera de acordo com o próprio sistema. - Observe todos esses itens, e se ainda você não conseguir receber o POST, entre em contato com nosso suporte técnico, clicando em Atendimento após logar em conta PagSeguro. Bons negócios! Compartilhar este post Link para o post Compartilhar em outros sites
Xycko 0 Denunciar post Postado Janeiro 17, 2010 Estou tendo um problema, tenho recebido retorno de operação concluida pelo token, mas quando vou ao pagseguro, observo que a transação não foi concretizada, isso tem ocorrido constantemente, como acabar com essa mensagemm falsa? Compartilhar este post Link para o post Compartilhar em outros sites
jayason 0 Denunciar post Postado Março 8, 2010 Hi I am not able to download . its saying page not found . JAYASON Personal Made available in my website a code developed in FULL. NET with many comments excellent for learning and direct insertion on your website. The codes are available in C #. Net ([url = "http://www.oticasnet.com.br/Downloads/NPIPagSeguroCS.zip"] http://www.oticasnet.com.br/Downloads/NPIPagSeguroCS.zip [ / url]) and in VB.net ([url = "http://www.oticasnet.com.br/Downloads/NPIPagSeguroVB.zip"] http://www.oticasnet.com.br/Downloads/NPIPagSeguroVB.zip [/ url]) The projects themselves are self-explanatory, ie, there is no documentation for them. Even being developed. NET can be easily translated into another language, since the code is very detailed. Any questions, post here. [] 's [/ quote] Compartilhar este post Link para o post Compartilhar em outros sites
jayason 0 Denunciar post Postado Março 18, 2010 Hi Can you tell me how we can redirect to our site . How will this paypal know where to return . Can we pass some return URL while posting the data . Thanks JAYASON I am selling a code written in C #. NET and PHP automatic return of PayPal. In the event of interest. [url = "http://www.reginaldonoronha.net/produtos.aspx"] http://www.reginaldonoronha.net/produtos.aspx [/ url] Abraço Good Afternoon Nice to know this information first, they do not appear on the site of PayPal Second, if possible, would like to know the encodings ColdFusion in the PayPal, it's totally wrong the code is quite different and much simpler than they did however there is a big problem .... what is the charset? If you receive the data, my server treats everything as UTF-8 But in PayPal, I do not know how to return it There is no FAQ, or test area you do not know how to get or how to return. It is difficult First I tried Encoders the variable tipopagamento spent as follows 1 - Credit Cards 2 - Cart 40th Cre% 29dito% None of the .... In PHP, like do not write code, just copied the code anyway, the band of data (table) generated by them is quite different from what they used to insert the code. He wanted some answers, since the site, nor the attendants can pass ...[/ quote] [/ quote] Compartilhar este post Link para o post Compartilhar em outros sites