Retorno Automático PagSeguro em PHP/MySQL funcionando

ATENÇÃO: Já esta disponivel a versão 2.0 deste script, mais segurança e agora coletando informações dos produtos, clique aqui.

Que o PagSeguro é realmente um dos melhores meios de pagamento da web, isso ninguem dúvida. Mas como integra-lo ao seu sistema de e-commerce? O site de ajuda do PagSeguro tenta ser claro e explicativo, mas o fato é, o script disponível no site simplismente não funciona.

ATENÇÃO: Já esta disponivel a versão 2.0 deste script, mais segurança e agora coletando informações dos produtos, clique aqui.

Vamos aos erros…

No script PHP do PagSeguro eles usam uma função que se chama, tep_not_null() que não é uma função nativa do PHP, ou seja, o seu script não irá funcionar. Esta função pode ser encontrada no OsCommerce (que não recomendo) ou em outros scripts pela internet. Bola fora, porque este exemplo dado por eles serve justamente para implantar em outros sistemas, ja que os modulos para esses scripts prontos estão disponíveis no proprio site.

Erro apresentado: Fatal error: Call to undefined function tep_not_null() in /teste/pagseguro.php on line 53

… existem outras melhorias que podem ser feitas no script PHP oferecido pelo PagSeguro, não irei comentar, irei implementar mais abaixo, ok?

No script de criação de tabelas MySQL do PagSeguro existe alguns erros básicos e curiosidades tambem. O primeiro é o seguinte, para que existe a tabela PagSeguroTransacoesProdutos sendo que em nenhum dos scripts de linguagem oferecidos por ele existe a inclusão de dados nesta tabela? Com certeza fail. Na outra tabela PagSeguroTransacoes, esta sim é utilizada, mesmo assim com erros gritantes. Como por exemplo, o campo TransacaoID como chave primaria. Porque erro? Porque o PagSeguro faz um post cada vez que é atualizado a transação, desta maneira que esta apenas a primeira inclusão será feita no MySQL, as confirmações de pagamento, cancelamento ou outro status diferente da transação que será postado posteriormente serão ignoradas pelo MySQL pois so pode existir um registro com cada chave primária. Trocando em miudos, você não sabe quem pagou ou não, pois a transanção não será atualizada.

Erro apresentado: #1062 – Duplicate entry ‘TransacaoID’ for key 1

Ta bom ou quer mais? Mais? tem muita coisa, como falta de um campo data para saber quando aconteceu a confirmação, um campo de flag para saber o que você ja atualizou no sistema ou não, etc. Essas implementações eu irei fazer a seguir.

Coloquei o dedo na ferida, e agora? E agora vamos a…

 

Implementação

Tentei comentar o código de forma simples e sucinta, então qualquer explicação seria chuver no molhado, vamos lá.

N/D

Basicamente, ele se conecta no MySQL, depois checa através do CURL se foi realmente o PagSeguro que enviou a postagem, recebe os dados via post e grava os dados na tabela.

… mas que tabela? Ahh sim… vamos a criação da tabela do MySQL.

1
 

N/D

Na tabela acima todos os campos são basicamente os dados recebidos do PagSeguro. Existem mais campos adicionais que vem em POST tambem que não quis colocar, se você tiver conhecimento basta ler o manual do PagSeguro e adicionar os campos.

Os indices que coloquei foram 3. O primeiro de tipo UNIQUE em TransacaoID e StatusTransacao para evitar que um registro seja enviado mais de uma vez, isso pode ocorrer em servidores com conexão lenta, é melhor remediar, pois estamos falando de transações financeiras. Os outros dois são indices de chave (KEY) apenas, para indexar e deixar sua busca pelos registros mais rapidas. O primeiro é na Referencia, campo que você envia ao PagSeguro na hora da compra para vincular o pagamento a ele, seria nossa chave. O segundo é um campo criado por mim, status que nada mais é que uma flag que uso no meu sistema, para saber quando ja usei aquele registro ou não, por padrão, todos os registros inseridos tem status zero.

Legal ter o código aberto no blog, mas eu gosto de facilidade quando busco em outros blogs, por isso a partir de hoje, qualquer código estará disponivel tambem para download.

ATENÇÃO: Já esta disponivel a versão 2.0 deste script, mais segurança e agora coletando informações dos produtos, clique aqui.

download Faça download do código aqui.

… bem, acho que depois de um longo tempo sem atualizar o blog devido a uma cirurgia de redução de estomago (vou falar sobre isso depois), é uma postagem importante e relevante para os desenvolvedores da área. Espero que tenham gostado.

Have Fun!

ATENÇÃO: Já esta disponivel a versão 2.0 deste script, mais segurança e agora coletando informações dos produtos, clique aqui.

101 Responses to “Retorno Automático PagSeguro em PHP/MySQL funcionando”

  1. Excelente, mesmo! :-D

    Envia para o pessoal do PagSeguro isso. De repente eles arrumam para melhorar a qualidade do serviço deles.

    Sabia que existe um plugin do PagSeguro, ne? Então. Durante o trabalho “descobri” que é possível alterar os valores que colocamos para o produto pelo Firebug e o valor escolhido realmente passa para o sistema deles. Se alguém o estiver usando numa loja de informática, por exemplo, eu consigo pegar um boleto de um PC por R$1,00…

    Entramos em contato por TEL com a empresa que desenvolveu o plugin alertando isso. Já deve ter uns 15 dias que a atendente disse que retornaria e nada…

  2. Olá Diogo!

    Gostei muito do seu post, mas poderia me tirar uma dúvida? Estou iniciando um site de acesso restrito e gostaria de enviar um e-mail com o link de acesso para o cliente assim que o pagamento for liberado pelo pagseguro. Sabe me dizer como faço isso?

    Obrigado e boa sorte na sua recuperação!

    Bruno Lima.

  3. Opa.. Parabens… eu ia fazer o mesmo… limpar o código do pagseguro.. mas pelo jeito vc ja fez isso.
    Obrigado

  4. Rapaz…

    Tirei o dia hoje para ler tudo a respeito do pagseguro, pois pretendo coloca-lo em meu site, este seu tutorial está bacana d+, parabens.

    Estou adicionado ao meu favorito para depois ler cuidadosamente e verificar se consigo implantar esta rotina descrita por você no meu site, haja visto que não sou programador, e por ter sido “enrolado” uma centena de vezes, estou tentando fazer algumas coisas sozinho.

    Espero conseguir sem ter que contratar um programador para faze-lo.

    fraternal abraço e mlehoras pós cirurgia.

  5. Jose Antonio Says:

    Ola diogo, tudo bem? muito bom seu artigo, funcionou certinho. Estou tentando implementar pra na hora em que receber o post do pagseguro, verificar se o status esta aprovado ou não, caso esteja aprovado enviar automaticamente um email ao cliente, mas não estou conseguindo, tem como me ajudar?

  6. Cara, muito bom esse tutorial!
    Ajudou muito mesmo!
    Mas não está dando erro quando vc tem mais que um tipo de produto no carrinho? Ele está retornando apenas o primeiro da lista!
    Valew!

  7. paulo Antunes Says:

    Oi
    Primeiro muito obrigado por tudo
    Funciona tudo excelente.
    Mas se eu precisar do nome do curso, no pagseguro a variável é ProdID_x ProdDescricao_x , adicionei na tabela da base de dados e no código php para inserir e não funcionou….podias me dizer o que se pode passar quanto a isso?

  8. Oi Diogo, tem uma maneira pra testar o retorno automatico sem ter que fazer uma compra ou doacao pro site? :)

  9. Infelizmente não funcionou………….já não sei o que é…

  10. oi, passei pra conhecer seu blog, e desejar boa semana
    bjss

    aguardo sua visita :)

  11. vc é o cara! excelente script..

  12. Francisco, qualquer dúvida, é so dizer.

  13. Bruno, so voce da um include dentro do processo do PagSeguro. O meu funciona assim, se tiver alguma duvida, diz ae.

  14. Tarcio, é verdade. Mas para isso, basta voce checar os valores antes de liberar o pagamento.

  15. Nossa, há quanto tempo não venho aqui, apesar de não me interessar, gostei do tutorial, bem explicado afinal!
    Bom, retorne ao meu blog e veja como ele está ficando *-*
    Deixe um comentário se possível.
    Abç. Maa

  16. Valeu aí Dourado, meu parente hehehe, ficou muito bom

  17. e ae Marcela, tudo joia? Valeu ae.. certamente irei visitar o seu blog! :)

  18. e ae Daniel… da família é? Bacana demais! =)

  19. ola, tdo bom?
    procurei pelo teu email aqui, mas nao encontrei, eu tou precisando de uma ajuda tua, programo tb em PHP e uso a base de dados MySql, sera q podias me mandar um email pra agente cnversar?
    muito Obrigado.

  20. Olá Diogo! Estou com um probleminha tá funcionando mas ao continuar comprando ele não acrescenta os produtos só aumenta a quantidade, porque?

  21. Ritesh, enviado! :)

  22. Pribena, O script foi desenvolvido para pegar apenas o total de produtos e valor da compra. Voce deve fazer uma rotina para ele pegar todos os produtos. Recomendo criar outra tabela para isso e relacionar. Leia a documentação do Pagseguro para maiores informações.

  23. Então … resolvi o problema de parar de adicionar só a quantidade mas agora ele não está adicionando os outros produtos! por que?

  24. Muito bom posto Diogo.

    Mas me esclareça uma dúvida por gentileza.

    Uma vez que a compra já foi efetuada e os protudos também já foram inseridos em meus banco de dados, como faço para consultar o status da transação no PagSeguro ?

    Já tentei de inúmeras maneiras mas o PagSeguro não me retorna tal informação.

    Você já desenvolveu alguma maneira ?

    Abraços.

  25. Diogo,

    Consegui a resposta.

    Tenho um código já implementado do PagSeguro e gostaria de compartilhar com você.

    Pode entrar em contato comigo ?

    allison@eside.com.br

    Obrigado.

  26. O codigo esta exposto acima, basta implantar. ;)

  27. Olá Diogo Dourado!

    parabens pelo belo post, é a primeira vez que visito seu blog e estou impressionado.

    Bom vamos lá tenho algumas dúvidas… eu tenho um botão de compra onde uso em um site, bom esse botão o cliente clica e vai ao site do pagseguro, bom dúvida, para que o retorno funcione devo enviar algum dado ao pagseguro ou não? todos os dados vão posteriormente e únicamenta para o retorno automatico?

    Copiei e coloquei seu codigo exatamente como esta exposto, troquei apenas os dados de acesso ao banco de dados meu tokem e link do site que eu quero que va, tambem configurei o link de retorno automatico no pagseguro etc…

    mais não entra nada no banco de dados e não sei o motivo, sabe por que?

  28. Jaguer Soares Says:

    Obrigado pela dica amigo !

  29. Fernando Melo Says:

    Ola,

    Quando o usuario compra via boleto na hora o pagseguro envia um post da transacao, alguns dias depois quando o cliente paga o pagseguro envia outro post para atualizar os dados no banco de dados. Nao achei no seu codigo aonde ele da o update na tabela?

  30. Gostaria de saber se este código que esta no blog esta vando ainda ou tem que ser atualizado pois estamos em 03-05-2010

    Aguardo retorno e muito obrigado por enquanto.

    Atenciosamente,
    Toninho

  31. Antonio, esta valendo sim. Tudo funcionando perfeitamente.

  32. Fernando, o codigo é apenas INSERT… não tem UPDATE, pois assim ele gera todo o historico da transação.

  33. Ronaldo, o retorno so funciona via PAGSEGURO > SEU SITE. Ou seja, voce deve efetuar um pedido ou compra no Pagseguro para o retorno ser acionado.

  34. Diogo, obrigado pelo post organizado e o exemplo.
    No entanto não consegui implementar o ProdID_x e nem a Referência.
    Desta forma não posso indentificar o produto através de de nenhum ID.

    Poderia mostrar um exemplo de como incluir Referencia ou ProdID_x.

    obrigado

  35. Olá, eu queria saber se esse código serve para “ATUALIZAÇÃO” do status do pedido, se eu posso usar ele para fazer o update do BD…

    oq devo fazer ? gerar minha TOKEN, cadastrar a url, e usar o script ?

  36. Eduardo, estes dados vem com o POST no retorno, basta captura e mandar gravar em um banco de dados. Em breve irei refazer o codigo com todas as opções possiveis.

  37. Andre, ele na verdade so adiciona informacoes em uma tabela. O UPDATE no pedido voce q tem q fazer, e vai variar de como esta sua tabela. Mas certamente voce ira entender quando instalar o script.

  38. Layanna/flogvip-fearofclown Says:

    Diogo, parabéns pelo blog. Ma mudando de assunto, O flogvip sem duvida é o melhor fotolog que há! Mas gostaria de saber porque ele vêm saindo do ar. Fico muito triste porque flogvip é muuuito bom e nao aguento ficar sem. Por favor, dê ao menos uma resposta pra acalmar toda essa agonia que dá ficar sem o flogvip!

  39. Tadeu Pianco Says:

    Muito bom felismente há pessoas como
    você desprovida de segundas intenções
    disponibilisam um trabalho como este
    parabéns

  40. Ola Diogo. Meus parabens pela iniciativa. O script está funcionando para todas as transações que não tem acento. Quando o pagamento é feito via cartão de crédito ou o nome do cliente contém acentos, o PagSeguro não valida o retorno. Vc sabe o que pode ser? abraços e obrigado

  41. Valeu Fera…

    Ajudou pra caramba aqui…esse PagSeguro dá muita dor de cabeça. Os scripts aí quebraram o galho.

  42. Parabens pelo script e a iniciativa, ajudou pacas

  43. Diogo,

    estou começando um site de compra coletiva e gostaria de implantar o pagseguro como forma de pagamento e com retorno automático, mas tudo isso sem perder as funcionalidades atuais do sistema.

    você pode fazer essa alteração para mim?

    me passa um e-mail com um orçamento.

    abraço,
    Rafael.

  44. Somente parabens!

  45. Diogo
    Ainda não testei seu script, antes gostaria de te perguntar: Existe uma pagina que é chamada retorno.php que é feita um include pelo pagseguro. Minha pergunta é você já incluiu ela no teu script ? outra pergunta, o comando sql INSERT com a opção SET tem o mesmo efeito do UPDATE. Pergunto porque, digamos que na primeira vez ele grava um status x, depois o pagseguro manda outro post liberando, então é enviado um outro post com status y, será usado o mesmo INSERT com o SET ? Ficarei grato se responder estas questões. Grande abraço e obrigado pelo excelente trabalho. Milton

  46. Layanna, o FlogVIP estava com problema de servidor. Mas ja triplicamos a capacidade com o novo servidor. ;)

  47. Tadeu, obrigado pelo elogio! So ta falando é tempo.. mas vamo q vamo! :)

  48. Thales, voce ja identificou o erro, entao no post, remova todos os acentos que vierem no nome, deve funcionar. Estarei em breve atualizando este script e fazendo algo mais completo. Para remover acento, no meu blog mesmo voce vai encontrar uma funcao para isso.

  49. Rafael, beleza, estou te respondendo por e-mail.

  50. 1. O meu script é completo, nao necessita de nenhum arquivo do Pagseguro.

    2. Não, o INSERT SET não tem nada de UPDATE. INSERT insere os dados, UPDATE atualiza os dados.

    3. No script acima, ele sempre grava com INSERT, ou seja, se o status for atualizado ele ira gerar outro registro no banco de dados (INSERT). Para verificar qual o atual status do pedido, basta fazer um SELECT no banco de dados usando como filtro o ID e DATA decrescente (mais recente).

  51. Primeiro obrigado pelo comprometimento de tentar melhorar algo sem cobrar nada. Mas Diogo não gravou no banco cara
    :( o que pode ser? abraço

  52. Já resolvi meu querido era erro pq o site estava hospedado em um server Windows! perfeito VLW

  53. Olá Diogo,
    Esta é a minha primeira vez aqui e já estou agradecido mesmo sem usar o pagseguro ainda, parabéns pela iniciativa.
    Não sou programador, estou utilizando o joomla + Virtuemart para desenvolver a loja virtual. está praticamente tudo pronto, já coloquei o modo pagseguro para funcionar mas não estou sabendo colocar o retorno automático.
    Outro ponto que quero é fazer com que eu crie um formulario no joomla e estes dados passem direto para o pagseuro, para não ter a necessidade de que o cliente não precise fazer dois cadastros,me disseram que tinha como fazer isso no pagseguro mas não sei fazer.
    e o basico, onde eu coloco esse bendito código? Em que página? e onde fica esta página para que eu possa colocar esse código.

    Espero que responda o mais breve possível

    Um abraço

  54. Daciano Benini Says:

    Gostaria de saber se esse codigo funciona em MsSql tbm, e se ao realizar o retorno se o UPDATE estiver em WHERE=’TransacaoID’ vai tudo certinho, e tabém se na parte do if ($StatusTransacao == ‘Completo’ OR $StatusTransacao == ‘Aprovado’)
    posso realizar um novo update baseado nos dados que foram devolvidos e updeitados do Pagseguro. Muitas perguntas x_x

  55. Bom dia Diogo, Eu tenho dúvidas quanto ao retorno automático do pagseguro em meu site. Há uma pag chamada rotorno.php, mas não esta Quando clica no produto pra comprar não vai pra pag do pagseguro, fica uma msg que diz “Não há pagamento adequado, e seu saldo não é suficiente”. O que devo fazer …?

    Obrigada e parabéns pelo blog.

  56. Boa noite Diogo,
    Implementei seu script e rodou beleza, só estou tendo um problema, não identifiquei em qual coluna você está gravando o valor da Compra, só vi o frete e os extras, onde vem o valor efetivamente de compra? Pra fazer um testes incluí os campos $ProdDescricao_x e $ProdValor_x, porém eles estão ficando sempre vazios no banco, tem alguma ideia?
    Abraços,
    Fábio

  57. Fala Diogo tudo beleza ? Feliz ano novo !!!
    cara, primeiramente, parabens ai pelo belo trabalho.
    Tenho algumas duvidas aqui sobre seu script…
    0. Na tabela mysql que vc cria, vc coloca uma coluna status, essa coluna nao e’ preenchida em nenhum momento no script, ela precisa estar ai ?
    1. A linha 59 e’ uma copia da linha 51 do script, precisa recolocar essa informacao no curl ?
    2. Sobre a entrada no banco usando insert, entendi oque vc colocou sobre fazer um SELECT e filtrar o resultado, mas se fizer um UPDATE o resultado nao vai ser mais rapido doque filtrar ? claro que isso pra alguma loja online que tenha uma movimentacao bem grande…
    sou ainda amador em programacao, essas sao duvidas mesmo… grande abraco !!!

  58. Felipe Souza Says:

    Cara, muito bom o seu tutorial, fiquei umas 7 horas até conseguir achar um que prestasse e o seu foi o melhor deles. muito bom mesmo e de fácil implantação.

    Só faltou explicar como recuperar os dados referentes ao ProdID_x e etc.

    Parabéns pela iniciativa.

    Estou desenvolvendo uma empresa agora e tenho muitos projetos que pretendo realizar, se quiser, me manda um email pra manter contato, gosto de trabalhar com pessoas de boa iniciativa.

    Abraços!!!

  59. Nossa.. O MELHOR!

    O unico script da net que funciona!

    Muito bom muito bom mesmo!

    Ajudou muito.. estava a muito tempo procurando um deste que funcionasse..

    E eu só gostria de saber.. Se por exemplo.. Alguem faz uma compra via boleto, o status vai ficar “Aguardando pagamento” quando ele pagar.. Como vai enviar os dados para minha tabela que está “Pago” ?

  60. Olá amigo, vc teria essas tabelas ou como criar em um banco de dados SQL? abraço

  61. Roger, é so fazer uma rotinar para verficar a atualizacao do status do banco. Se quiser uma consultoria, entre em contato

  62. JFcontato, desculpe, mas nunca trabalhei com o Joomla.

  63. Otavio, no script nao tem, mas é bom voce fazer um LOG e verificar o erro. Tente fazer o log de tudo, desde acesso ao aquivo a insercao no mysql para gerar erros e acertos. Assim facilmente identificara o erro.

  64. Janaina, isso é erro de transacao, não tem nada a ver com o retorno.

  65. Fabio, é trabalho de preguiçoso mesmo. Em outra oportunidade irei gravar todos os dados da compra. ;)

  66. Pedro,

    0- Nao precisa, eu uso em meus projetos para verificar atualizações e leituras.
    1- Nao lembro disso, to com preguiça de ver o arquivo, entao deixa ele ae. :P
    2- É por isso que eu uso o status, para ele filtrar somente os que ainda nao li. É questao de logica de programacao, faça como achar melhor, ok? O INSERT ou UPDATE no final das contas é a mesma coisa, vai de voce em deixar os registros em historico ou atualizar de forma mais amigavel. :)

  67. Felipe, pretendo ainda fazer essa parte completa e disponibilizar aqui no blog. :)

  68. Gaspar, tanto para boleto, cartao ou outro meio de pagamento, a resposta de pagamento liberado é a mesma, ok?

  69. Bobrinha, o *.sql com as tabelas estao disponiveis para download no POST, ok?

  70. Yuri Arrua Says:

    Cara, eu ja tinha usado o seu codigo em um site e funcionou beleza, fui usar novamente, mais desta vez ele não passa do “if($confirma)”, ou seja não executa o insert e outros comandos q eu fiz, tu sabe se mudou alguma coisa no retorno do pagseguro desde que tu publicou o codigo?

  71. Muito, mas muito bom esse seu artigo.
    Por acaso, vc não sabe me diser ou aonde axo como configurar o ambiente de teste no windows rodando um wamp? No site do Pagseguro não ajuda muito.

    Abraço

  72. esse script funciona para loja zen cart?
    quando um cliente faz a compra meu sistema processa a venda antes da transação no pagseguro ser concluida. tem solução com esse retorno?
    obrigado e parabéns pelo trabalho.

  73. gostaria de saber se tem como eu por retorno automatico pra usar 2 sites no mesmo pagseguro pois estou com essa dificuldade…

  74. tim wang yan Says:

    pq não funciona o ProdID_x…vai para o banco de dados em branco quando tento adicionar!

  75. Olá,

    Estou tentado fazer a integração do pagseguro, mas o POST sem vem vazio, e não consigo recuperar nenhum dado.

    Você tem alguma sugestão?

    Obrigado

  76. Amigo, eu posso alterar isso, né?:

    $TransacaoID = $_POST['TransacaoID'];
    $VendedorEmail = $_POST['VendedorEmail'];
    $Referencia = $_POST['Referencia'];
    $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'];

    Preciso deixar assim:

    $TransacaoID = $_POST['TransacaoID'];
    $VendedorEmail = $_POST['VendedorEmail'];
    $Referencia = $_POST['Referencia'];
    $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'];

    Pode me mostrar um formulário de exemplo? Não sei para eu serve $Extras = $_POST['Extras'];
    $Anotacao = $_POST['Anotacao'];
    $TipoPagamento = $_POST['TipoPagamento'];
    $StatusTransacao = $_POST['StatusTransacao']
    $Referencia = $_POST['Referencia']

  77. Você deve implementar a verificação de valor postado pelo pagseguro em relação ao que deveria ser pago. Afinal é facílimo rackear o form que faz post na área de pagamento do pagseguro e modificar um input hidden de ProdValor_1 para 1 centavo e finalizar a compra!!!!!!!

  78. Jônata Marcelino Says:

    Caro amigo, estou tendo problema com o retorno do PagSeguro, tentei fazer do jeito em que me pediu para fazer, mas no entanto não funcionou, como poderei resolver este problema?

  79. Estou montando este sistema de compra coletiva por curiosidade. http://www.patosmercado.com.br/coletiva/
    o script achado vem com muito erro , estou nos finais dele que é o retorno da compra e liberaçao de cupon , achei bom demais a dúvida se o script do PG funcionava ou não , ótimo so de ler o script vi que funciona. Abraço , meu MSN patosmercado@hotmail.com

  80. Yuri, o codigo ainda funciona perfeitamente.

  81. Johan, infelizmente nao. :)

  82. Joe1979, o sistema funciona para qualquer sistema. Mas voce deve ter conhecimento suficiente para integrar ambos.

  83. Marcio, pode sim. Basta voce colocar na descricao uma palavra chave para identificar de qual site é a transação. ;)

  84. Tim, realmente a parte de produtos eu não fiz por preguiça mesmo. ;) Mas eu vou atualizar o script e coloco, ok?

  85. Diego, sugiro que grave log das ações para ver o que acontece.

  86. Thomás, o script é responsavel apenas pela captação de dados. A veracidade das informações fica a cargo do programador e sua implementação no sistema.

  87. Jônata, qual o erro?

  88. Olá, implementei a biblioteca do pagseguro na minha loja, só que não consegui rodar o frete, por causa desse erro:
    Fatal error: Call to undefined function curl_init() in …\Biblioteca\pagseguro\frete.php on line 72

    Conhece esse erro?

    Desde já eu agradeço!

  89. Marina, so entrar em contato com seu provedor de hospedagem e solicitar a instalacao ou liberação do CURL, ok?

  90. Realmente, o melhor script que já vi, funciona perfeitamente.
    Tem meses que estou tentando fazer funcionar, com vários scripts diferentes, e nada, e com este, simples e rápido, funcionou perfeitamente.

    Parabéns!

  91. Olá, meu status não altera quando o meio de pagamento é TEF. Fica sempre como Aguardando Pagto. Porque? Algueém sabe?

  92. Luciano, vou ver se é problema geral ou apenas seu. Irei fazer um teste e posto aqui depois, ok? Estou com um problema de saude mas em no maximo 2 dias eu te respondo.

  93. Caro xará, estou tendo a mesma dúvida de muitos aqui.
    Se eu simplesmente chamar por posto o valor de ProdValor_x (denominando uma variável a ele e tentando inserir no banco), simplesmente não consigo. O mesmo vale para ProdValor_0, ProdValor_1 .. etc.
    Sabe como podemos resolver isso de uma forma bem simples?
    Forte abraço e parabéns pelo SCRIPT!

  94. Olá Diogo, funcionou quase tudo, eu só não consegui gravar o valor da venda na tabela, é isso mesmo?

    e depois de feito o processo ele redireciona para um link correto?

  95. Muito bom, irei utilizar em breve em alguns projetos. Parabéns!

  96. Galera, estou desenvolvendo a versão 2.0 do arquivo retorno, desta vez mais completo, pois vai capturar os produtos, ok? ;)

  97. Fála Dourado!!!
    Show de bola…

    Quando deve sair a versão 2.0?

    Forte abraço!

  98. Oi Diogo tudo bem.
    Estou criando um site para vender livros digitais, só quero colocar somente a opção de pagamento em boleto, conseguir criar a interface inicail do site como validar login, armazenar o cadastro do cliente, gerar a numeração correta do boleto atraves dos dados do cliente mais estou com dificuldade em receber ou processar as informações vidas do banco em um retorno. Vc teria uma ideia de como poderia implementar algo em PHP.

  99. Claudio, deve sair daqui 1 mês, to atualizando ele agora.

  100. Pablo, basicamente é cruzamento de dados.

  101. Heber Holanda Says:

    Muito Bom. Obrigado!

Leave a Reply