iMasters Fóruns: Solução da página de retorno PagSeguro - PHP - iMasters Fóruns

Ir para

Página 1 de 1
  • Novo tópico
  • Responder

Solução da página de retorno PagSeguro - PHP Código de retorno do PagSeguro em PHP

#1 Membro offline   jstecnologia Ícone

  • JS Tecnologia
  • Ícone
  • Grupo: Membros
  • Posts: 5
  • Cadastrado: 17-setembro 03

Ícone  Postou 05 dezembro 2008 - 12:13

Solução da página de retorno PagSeguro

E ae Galera,

Bastante tempo tenho procurado na internet o retorno do PagSeguro que funciona-se, mas infelizmente não encontrei, então fui ao código fonte e passei a realizar diversos testes até chegar no código final.

Para que isso não venha acontecer com nossos amigos estou disponibilizando o código fonte de envio e retorno do PagSeguro.

Arquivos do zip:
index.php - Página com os dados que devem ser enviados ao PagSeguro
retorno.php - Página de retorno que irá cadastrar os dados na base de dados MySql
PagSeguroTransacoes.sql - Script para criação da tabela na base de dados MySql

Obs.: A página de retorno não mostra as informações recebidas, somente é permitido pelo PagSeguro cadastrar os dados no banco de dados, para mostrar na sua página será necessário realizar uma busca na sua base depois que o cadastro for realizado.

Versões utilizadas:
PHP: 5.2.6
MySql: 5.0.51a


Link para download: http://www.jstecnolo...STecnologia.zip

Acessem também: http://www.bibliananet.com.br

Abraços.
Jefferson - JS Tecnologia

Este post foi editado por hargon: 06 dezembro 2008 - 12:09
Razão por editar:: Alterado título do tópico por desrespeitar às Regras do Fórum | Texto em Caixa Alta


#2 Membro offline   silverfox Ícone

  • Guilherme - ギリェルメ
  • Ícone
  • Grupo: iMProjetos WS
  • Posts: 3283
  • Cadastrado: 01-outubro 06
  • Sexo:Masculino

Postou 05 dezembro 2008 - 17:09

Otima iniciativa, ja baixei e vou testar.

Detalhe sobre o tópico:
Leia as regras:
http://forum.imaster...ex.php?act=Help

caixa alta é proibido ;)

atenciosamente Fox

#3 Membro offline   Zurox Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 2
  • Cadastrado: 06-dezembro 08

Ícone  Postou 06 dezembro 2008 - 09:38

Não sei se o pessoal sabe, mas PagSeguro e PHP4, não é uma boa mistura, fiquei me matando por semanas, tentando instalar o Pagseguro nos meus servidores, ate testar junto ao JsTecnologia em um servidor que roda php5, e descobrir este problema, caso alguem tenha problema com este script, lembre-se de verificar phpinfo() no servidor

o script dele funciona e como eu mencionei a ele, esta é a solução do PS...

Obrigado por contribuir. :natal_biggrin:

#4 Membro offline   RetuKo Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 15
  • Cadastrado: 09-fevereiro 09

Postou 09 fevereiro 2009 - 02:40

Olá, eu testei o seu script mas os dados não estão sendo enviados para o banco de dados, o pior é que ão acusa nenhum erro na pagina retorno.php

#5 Membro offline   MercadoFormiga Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 12-janeiro 09

Postou 28 fevereiro 2009 - 09:20

Ver postRetuKo, em 09/02/2009 - 02:40, disse:

Olá, eu testei o seu script mas os dados não estão sendo enviados para o banco de dados, o pior é que ão acusa nenhum erro na pagina retorno.php



Aqui também não...
a página de confirmação abre como se a compra fosse concluída com sucesso, mesmo se eu digitar o link direto dela, sem passar pelo página do PagSeguro.

#6 Membro offline   wws Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 13
  • Cadastrado: 19-julho 08

Ícone  Postou 02 maio 2009 - 22:19

funcionouuuuu!

#7 Membro offline   Thiago Paschoalin Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 237
  • Cadastrado: 06-dezembro 06
  • Sexo:Masculino
  • Localização:Ribeirão Preto- SP

Postou 28 maio 2009 - 15:08

Será que alguém poderia me dar uma mão nesse bendito de Retorno Automático ???

Tipo, fiz as correções dadas pelo Jefferson e realmente o código funcionou, está salvando ALGUNS dados no DB, mas não todos, e ainda tenho um problema maior, preciso salvar estas informações em uma outra tabela, mas parece que não é permitido, como eu poderia fazer isso ?

Falha minha disse:

de todos os dados oferecidos em POST pelo PagSeguro, somente os seguintes salvam no banco:
- TransacaoID - TipoPagamento - StatusTransacao - CliNome - CliEmail - CliCEP - CliTelefone - NumItens.
Tem muitos outros que não retornam. Mas este não é o maior problema.

* É obvio que não salva tudo, eu não estou recuperando os outros dados, hehehehe DAHH... esqueção esta parte ^^


O meu carrinho é para computadores 'configuraveis' onde o cliente escolhe a placa mãe, processador, memoria, etc... e isso é salvo em COOKIE.
Após salvar os dados do pagseguro, eu faço um FOREACH para listar os cookies e salvar em outra TABELA as peças escolhidas para este computador comprado, mas ai entra o problema, o POST TransacaoID após ser salvo na TABELA PagSeguro, desaparece, então não consigo ligar o nome a pessoa, ou seja, que aquela configuração é da compra da TransacaoID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.

Ai criei uma string
<? $NumeroAleatorio = rand(100,999) . rand(100,999) . rand(100,999) . rand(100,999) . rand(100,999) . rand(100,999) . rand(100,999); ?>

Onde salva este numero na TABELA do PagSeguro e na minha outra TABELA, AI FERROU TUDO DE VEZ, pq parece que após salvar os dados da TABELA do PagSeguro ele dá um refresh, ai o meu $NumeroAleatorio salvo na TABELA PagSeguro não é igual ao $NumeroAleatorio salvo na outra TABELA.

Alguém fez algo parecido, ou poderia me dar um help ????? Nunca tinha utilizado CURL, e não sei até onde pode estar causando conflito.

Quote

Me esqueci de um detalhe muito importante, para salvar alguns dados na 2ª TABELA, eu preciso da SESSION, e na página de retorno do PagSeguro eu não posso usar session_start(); . Quando usei, ele duplicava o INSERT e dava uma tremenda confusão.

Então a unica coisa que eu precisava era: Depois que ele salvar no banco, eu conseguir dar um redirect para a página com session aberta para salvar os dados do COOKIES na outra TABELA. MASSSSSSSS com o mesmo número gerado no $NumeroAleatorio que foi salvo na TABELA PagSeguro.


#8 Membro offline   Thiago Paschoalin Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 237
  • Cadastrado: 06-dezembro 06
  • Sexo:Masculino
  • Localização:Ribeirão Preto- SP

Postou 28 maio 2009 - 22:20

Jefferson, me fala uma coisa....

por falta de opção eu usei o $_SERVER['REMOTE_ADDR'] para comparar entre as tabelas e usei como no seu exemplo, mas na página de retorno do PagSeguro ele pega sempre o mesmo IP e não é o meu, pq isso ? como posso consertar isso ?

//Pegando o IP do usu&aacute;rio
$ip = $_SERVER['REMOTE_ADDR']; // pegando o endere&ccedil;o remoto 
$forward = $_SERVER['HTTP_X_FORWARDED_FOR'];  // pegando o endere&ccedil;o que foi repassado (se houver) 
$ip = ( ( ($ip=='unknown' || $ip=='200.221.19.20') && ( isset($foward) && $forward!='unknown' ) ) ? $forward : $ip );


Note que mudei o IP de verificação que você tinha usado, pois é este IP que sempre salva na tabela PagSeguro.
Depois que direciona para a página dos COOKIES, aparece o meu IP certo, mas esta verificação do PagSeguro está ferrendo com tudo...
Um Help please.

#9 Membro offline   João Corrêa Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 44
  • Cadastrado: 06-junho 06

Postou 25 junho 2009 - 15:30

Muito Obrigado, funcionou perfeitamente.

Mas tem uma coisa a informar: se duas pessoas diferentes estiverem no mesmo IP, não é salvo no BD, mas aparece no meu histórico de transações. Isto não precisaria ser imposto.

Vou criar um barra de doações, depois posto aqui.

#10 Membro offline   João Corrêa Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 44
  • Cadastrado: 06-junho 06

Postou 29 junho 2009 - 11:57

Jefferson obrigado pelo código, o Pagseguro não envia um POST de atualização?

Se sim, no seu código falta o UPDATE.

Abraço!

#11 Membro offline   brunohass Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 10
  • Cadastrado: 07-setembro 09

Postou 26 outubro 2009 - 05:07

Bem eu estou com 1 duvida que eu reluto em acreditar que não seja ridicula.
Porem como não achei a solução decidi expor aqui ela e saber mais sobre o assunto.


Bem eu trabalho com o botaão de doação do pagseguro.

Queria saber se existe um modo de eu salvar o que o USUARIO esta doando para quando a transação for aprovada eu automaticamente agradeça ou libere algum produto ao mesmo.

O problema que a parte de valor fica fora do meu site e não sei como posso fazer para recuperar isso. Tal como usuario e senha do meu usuario.

Alguem entendeu o que eu quiz dizer? kkkkkk

Se alguem puder responder aguardo ansiosamente.

att demondark@hotmail.com

#12 Membro offline   lcrafael Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 27-outubro 05

Postou 02 novembro 2009 - 10:17

Kra,

Ja nem lembrava que tinha login aqui no Forum.

Mas você me fez lembrar e entrar para te dar os parabens, teu script funcionou perfeito!!!! Sensacional.

Deus te abençoe!!!

[]`s

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)