Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ccdb

[Resolvido] Retorno PagSeguro incompleto

Recommended Posts

Alguma idéia?

Meu site é muito simples - sou escritor e vendo tempo de leitura para os meus livros. Tive de aprender um pouco de PHP aos sessenta e quatro anos, porque não posso pagar um desenvolvedor.

 

Meu site só tem um botão de compra de tempo, tipo 4 (um só produto), do PagSeguro.

 

A página de retorno funciona perfeitamente quando um Cliente compra tempo; cria-se um registro na tabela do meu banco de dados, tudo certo, inclusive o Status da Transação, que pode aparecer como Aguardando Pagto. ou Aprovado.

 

Quando um boleto é cancelado, também aparece esse dado no campo de Status Transação. Portanto, creio que está correto o código da página de retorno, que é em PHP e editei a partir do código recolhido no PagSeguro.

 

Porém... quando um pagamento muda de Aguardando Pgto para Aprovado, ou de Aprovado para Completo, a lista na minha conta no PagSeguro é corretamente atualizada, mas não aparece mudança de status no campo de Status Transação da tabela do meu banco de dados.

 

Para mim, parece que no meu site está tudo correto, já que o mesmo campo (Status Transação) recebe dados do PagSeguro. Será que o PagSeguro emite dados manualmente nos casos das mudanças de status que não estão vindo para a tabela do meu banco de dados?

 

Fiz as perguntas acima ao PagSeguro, mas as respostas estão muito concisas e dúbias.

 

Por enquanto, estou editando à mão o campo Status Transação no meu banco de dados, com base no que aparece na minha conta do PagSeguro!

 

Alguém poderia me dar alguma idéia, por favor, sobre a possível origem do problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que pedir um código de segurança que se chama Token

 

Isso faz com que o script reconheça que o pag seguro da UOL quer entrar em seu site. E fazer as modificações no estatos de seu pedido.

 

No caso de retorno automático você tem que cadastrar seu site na sua conta no pagseguro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, Vitor.

 

Creio que não me expliquei bem: o código PHP da página de retorno do meu site está funcionando perfeitamente. Portanto, claro que já coloquei o Token e que cadastrei o meu site na conta do PagSeguro; caso contrário, o meu banco de dados não estaria recebendo os dados completos quando um Cliente faz a compra de tempo de leitura - como já informei na primeira mensagem, que solicito a você o favor de reler.

 

Resumindo: tudo está funcionando perfeitamente do meu lado, no meu site. Se um Cliente compra tempo de leitura quando aperta o botão COMPRAR (tipo 4, compra de um só produto), a compra de tempo é realizada inteira e o Cliente retorna direitinho à página de retorno do meu site.

 

Quando isso acontece, o PagSeguro envia os dados a essa página, que contém o código PHP, que contém o Token, que contém login e senha para o meu banco de dados, que contém as variáveis que recebem os dados da compra enviados pelo PagSeguro e que remete corretamente esses dados ao meu banco de dados.

 

Logo, a página de retorno está perfeita. Veja bem que o dado do campo de Status da transação RECEBE dado corretamente; ou seja: recebe o dado de Aguardando Pgto ou de Aprovado, referentes à compra de tempo.

 

Como é a mesma página de retorno que deverá ser acessada pelo PagSeguro quando o Status da transação for modificado, passando de Aguardando Pgto para Aprovado, ou de Aprovado para Completo, esta modificação deveria aparecer no banco de dados, no mesmo campo de Status. Porém... ela não aparece.

 

Para mim, tudo leva a crer que o PagSeguro não está enviando esses dados quando deveria, porque na minha conta, lá no PagSeguro, esses dados de Status são modificados corretamente.

 

Informo novamente que o status de Cancelado (para um boleto de teste, por exemplo) aparece corretamente no meu banco de dados. Portanto, nesse caso o PagSeguro vem funcionando.

 

A minha dúvida é: será que o PagSeguro não está me enviando os dados quando deveria? Será que esse envio é feito manualmente no PagSeguro?

 

Antes de pôr no ar a seção de compra de tempo de leitura do meu site, eu perguntei ao PagSeguro se os dados seriam atualizados automaticamente, e recebi a resposta do sr. Vagner Fiúza de que SIM, seriam, e a mesma página de retorno seria acionada pelo PagSeguro quando houvesse mudança de dados, ou de Status numa transação.

 

Acontece que isso só vem ocorrendo com certos tipos de mudança de dado e não vem ocorrendo com outros tipos. Tudo me leva a crer que o problema é no PagSeguro, já que o campo Status é o mesmo para todos os tipos de ocorrência e que a página de retorno é a mesma - e o meu site nunca saiu do ar nem parou nem teve problema algum.

 

Desculpe a resposta longa!

 

Agardeço sobremaneira a sua tentativa de ajuda. Por favor, diga-me o que acha de tudo isso, lendo com atenção estas minhas mensagens.

 

Tudo de bom para você!

 

ccdb

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso eu sempre fiz manualmente esse processo.

 

Pensava que era um erro no script.

 

Como existe um erro no atributos do produto que não passa para segunda pagina.

 

Vou dar uma pesquisada na internet e eu achar a solução lhe dou a resposta

 

Dá uma olhada na minha loja clique aqui http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, Vitor!

Superobrigado pela segunda resposta e o esforço que fará de buscar na Internet a solução do problema, que, pelo visto, é seu também e pode ser de mais gente além de nós.

 

Olhei o site da sua loja e gostei! Parabéns! Deixei um alô pra você no formulário pra você ver que estive lá.

 

O meu site não tem formulário, utilizo o e-mail ccdb@ccdb.gea.nom.br.

 

Se você quiser olhar como é a seção do meu site onde vendo tempo de leitura para os visitantes lerem os meus livros, por favor entre em www.ccdb.gea.nom.br e clique no botão azul CCDB Livros.

 

Espero que ninguém ache que esta mensagem é escrita por motivo comercial porque não é MESMO. Aliás, eu gostaria de deixar todo o mundo ler os livros que escrevi sem ter de pagar coisa alguma; porém, foram quinze anos de luta e até passar fome a família passou.

 

Meu convite é para que você e quem mais leia isto possa ver o site onde existe esse problema com a recepção de dados do PagSeguro. Como sou novato neste fórum (é o primeiro de que participo), caso eu esteja me excedendo em mencionar essas coisas, por gentileza me avisem e podem cortar o que estiver demais nesta mensagem.

 

Minha conexão é discada, lenta e falha. Se você, Vitor, pesquisar na Internet a solução do problema eu desde já agradeço muito, porque aqui é muito difícil de navegar.

 

Continuarei também insistindo nas perguntas ao Atendimento - Suporte - Desenvolvimento do PagSeguro, pra ver se lá eles descobrem o que está havendo. Tudo me leva a crer que o envio de dados que o PagSeguro faz é imperfeito e vezes funciona, vezes não. Como iniciante em programação, escritor que precisou virar programador, não posso garantir que seja falha do PagSeguro, portanto, desculpo-me caso esteja enganado.

 

Abraço forte e grato,

CCDB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo ccdb o seu problema no caso não é no pagseguro, concerteza esta no PHP por isso estarei movendo o tópico do senhor para a seção correta, lá vai ficar mais fácil de sua dúvida ser solucionada, boa sorte.

 

Tópico Movido

 

Sistemas para E-commerce / PagSeguro http://forum.imasters.com.br/public/style_emoticons/default/seta.gif PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

O script da JS Tecnologia está incompleto, por meio dele recebemos apenas os dados do primeiro status da transação.

 

O correto seria ao receber os dados (via POST) comparar primeiro para verificar se há aquele ID na tabela, se houver se faz um UPDATE se não se faz um INSERT.

 

Eu alterei hoje o código:

 

$datahora = date("Y-m-d H:i:s");
$data = date("Y-m-d");
$hora = date("H:i:s");

$sql = mysql_query("SELECT COUNT(*) AS conta FROM PagSeguroTransacoes WHERE TransacaoID = '$TransacaoID'");
$conta = mysql_result($sql,0,$conta);

	if($conta == 0){//se não existe a transacao!
	mysql_query("INSERT into PagSeguroTransacoes (TransacaoID, VendedorEmail, TipoFrete, ValorFrete, Anotacao, TipoPagamento, Referencia, StatusTransacao, CliNome, CliEmail, CliEndereco, CliNumero, CliComplemento, CliBairro, CliCidade, CliEstado, CliCEP, CliTelefone, NumItens, ProdID, ProdDescricao, ProdValor, ProdQuantidade, ProdFrete, ProdExtras, ip, datahora, data, hora) VALUES ('$TransacaoID','$VendedorEmail','$TipoFrete','$ValorFrete','$Anotacao','$TipoPagamento','$Referencia','$StatusTransacao','$CliNome','$CliEmail','$CliEndereco','$CliNumero','$CliComplemento','$CliBairro','$CliCidade','$CliEstado','$CliCEP','$CliTelefone','$NumItens','$ProdID','$ProdDescricao','$ProdValor','$ProdQuantidade','$ProdFrete','$ProdExtras','$ip','$datahora','$data','$hora')");
	}elseif($conta == 1){//se existe atualiza o status!
	mysql_query("UPDATE PagSeguroTransacoes SET StatusTransacao = '$StatusTransacao'
	 WHERE TransacaoID = '$TransacaoID'");
	}

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Patrique.

 

O problema acaba de ser confirmado que É sim no PagSeguro. Finalmente recebi uma resposta do Atendimento do PagSeguro.

 

Eis a cópia da resposta que acabo de receber:

 

"Prezado Cláudio,

 

Informamos que nosso sistema está apresentando problemas para retornar o POST para algumas transações, este problema já está sendo verificado pelo setor responsável, porém enviamos também sua solicitação para analise.

 

Ficamos a disposição.

 

Atenciosamente,

Gabriel Ferreira

Suporte PagSeguro".

 

Como afirmei ao longo deste tópico inteiro, o código PHP de minha autoria está perfeito.

 

E nem é preciso pensar muito. Veja só:

 

Se o campo Status da transação (na tabela TransacoesPagSeguro, dentro do banco de dados do meu site) recebe os POSTs do PagSeguro quando um pagamento é efetuado e eu recebo o e-mail informando isso, é porque o código PHP da minha página de retorno está perfeito.

 

Como as atualizações que estão faltando têm de dar-se no mesmo campo de status da transação a única hipótese (que se confirma na mensagem que recebi do PagSeguro e reproduzi acima) é que o PagSeguro esteja enviando apenas parte dos POSTs que deveria enviar. Aliás, quando o POST é enviado pelo PagSeguro, recebo também o respectivo e-mail de aviso; quando o POST não é enviado, não recebo o e-mail - e o e-mail deveria ser emitido automaticamente junto com o POST.

 

O PagSeguro deveria enviar POSTs para TODAS as modificação de Status; ou seja: Aguardando Pagto, Aprovado, Completo ou Cancelado. O Sr. Vagner Fiúza, do Suporte PagSeguro me afirmou isso - tenho cópia da mensagem que recebi dele (a qual reproduzo logo abaixo da minha assinatura nesta mesma inserção). Mas não é isso que vem ocorrendo e estou tendo de editar à mão a tabela do meu banco de dados.

 

Confio na perícia e no profissionalismo dos técnicos do PagSeguro. Se assim não fosse, eu não teria apostado no PagSeguro os quinze anos de trabalho que tive para escrever os meus livros. Esses livros estão ao dispor do público no meu site, www.ccdb.gea.nom.br, seção CCDB Livros, e nessa seção a ÚNICA forma de pagamento pelo tempo de leitura on-line é justamente a que se efetua por meio do botão COMPRAR do PagSeguro.

 

Portanto, acho que o próprio PagSeguro resolverá o problema e tudo passará a funcionar como deve.

 

Se o senhor, que é moderador, achar que deve retirar desta resposta a parte que menciona CCDB Livros e o meu site, compreenderei - meu objetivo não é utilizar este respeitável fórum para propagandear meu trabalho.

 

Muito obrigado por ler isto; tudo de bom para você, moderador Patrique!

 

Cláudio

 

EIS A RESPOSTA, SUPRACITADA, DE VAGNER FIÚZA À MINHA MENSAGEM "PagSeguro acessa direto meu banco de dados ao aprovar?" QUE ENVIEI AO ATENDIMENTO PAGSEGURO em 25-05-09, ANTES DE CONCLUIR O CÓDIGO PHP DO MEU SITE:

 

' Prezado Cláudio,

 

Exatamente, nosso sistema envia a atualização para sua Pagina de retorno mesmo se nenhum usuário estiver aberto a mesma, nosso sistema efetua o procedimento automaticamente assim que o STATUS muda de posição como "Aprovado", "Completo" ou "Cancelado".

 

Ou sejá sempre que houver uma atualização de SATUS nosso sistema automaticamente acessa sua pagina de retorno e entrega os novos dados.

 

Ficamos à disposição.

 

Atenciosamente,

Vagner Fiuza Vieira

Suporte Técnico PagSeguro. '

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, João Corrêa!

Muito grato pela colaboração.

 

No meu caso, não se trata de código incompleto. Se assim fosse, eu também só receberia na tabela do meu banco de dados o Status da primeira transação. Não é isso que ocorre comigo. Estou recebendo TODAS as mudanças de Status que o PagSeguro efetua. Por exemplo: quando algum Cliente compra por meio de boleto, o registro da transação aparece com o TransaçãoID correto e todos os dados na tabela TransacoesPagSeguro do banco de dados no meu site. Quando esse mesmo boleto é cancelado (por exemplo um boleto que eu próprio tenha emitido para testar o sistema - e foram muitas dezenas deles durante os testes...), o PagSeguro vem enviando POST e o Status desse registro É alterado corretamente, passando para Cancelado.

 

Esta reposta é tão-somente para dar a você o meu agradecimento, já que o problema foi confirmado pelo próprio PagSeguro como sendo do PagSeguro.

 

Abraço forte e tudo de bom pra você!

Cláudio - CCDB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, Patrique!

Sugiro respeitosamente que você retorne este tópico ao local onde o criei: Sistemas para E-commerce / PagSeguro.

 

Agindo assim, todas os usuários do PagSeguro que estejam passando pelo mesmo problema ficariam sossegados.

 

O retorno deste tópico ao local de origem seria também uma comprovação da transparência do PagSeguro e de seus ilibados profissionais que, além de competentes, são humanos como você e eu.

 

Errar é humano; eu erro, o PagSeguro também. O reconhecimento de um erro atesta maturidade, sinceridade e bom propósito. Em minha obra máxima, denominada "Géa", até Deus erra! ou finge errar, para o bem do Universo.

 

Fica aqui minha sugestão, pois. Espero que a acate e tome a providência. Perdido no meio da seção geral sobre PHP, este tópico não só seria inútil a quem lida com essa linguagem, como poderia parecer o que não é: ocultação de um problema do PagSeguro.

 

O PagSeguro e seus usuários só se beneficiaria pela demonstração do bom atendimento que as mensagens aspeadas abaixo comprovam. Foram trocadas ontem entre mim e um funcionário dessa empresa. Para facilitar a leitura, inverti a posição em que as mensagens aparecem no Atendimento PagSeguro. Aqui, as mensagens mais recentes acham-se no fim da lista:

 

"Prezado Cláudio,

 

Informamos que nosso sistema está apresentando problemas para retornar o POST para algumas transações, este problema já está sendo verificado pelo setor responsável, porém enviamos também sua solicitação para analise.

 

Ficamos a disposição.

 

Atenciosamente,

Gabriel Ferreira

Suporte PagSeguro

 

 

Prezado Gabriel:

muito obrigado pela resposta a esta mensagem também.

 

Fico mais sossegado em saber que o problema se confirma aí do lado do PagSeguro, pois confio na capacidade dos seus profissionais e tenho certeza de que logo será sanado. Por enquanto, continuarei a editar à mão o campo Status da transação na tabela do meu banco de dados.

 

Quando um sistema não funciona inteiro, ou funciona inteiro, a gente não se assusta. O susto vem quando funciona erraticamente, ou parcialmente.

 

Bom... deixo-o trabalhar em paz e peço desculpas pela insistência e o tamanho e número das mensagens.

 

Atenciosamente,

Cláudio

 

 

Prezado Cláudio,

 

Nós que nos desculpamos pelos transtornos causados.

 

Ficamos a disposição.

 

Atenciosamente,

Gabriel Ferreira

Suporte PagSeguro

 

 

Prezado Gabriel:

fico muito feliz em ver como o seu atendimento é profissional e além disso humano.

 

Nada a desculpar; só a agradecer.

 

Por imenso favor, avise-me ao e-mail ccdb@ccdb.gea.nom.br quando o PagSeguro tiver solucionado o problema do retorno do POST em seu sistema. Não sei se devo verificar aqui nesta mensagem mesmo, deixando-a aberta, se haverá resposta sua sobre a solução do problema.

 

Eu gostaria de saber também, por favor, se há alguma previsão (mesmo que sem compromisso) de quando estará solucionado esse problema.

 

Atenciosamente, e bom trabalho!

Cláudio

 

 

Prezado Cláudio,

 

Não temos como precisar uma data, pois nosso sistema está sendo atualizado para uma nova versão, o que pode impactar no atendimento de alguns casos. Porém ao encaminharmos uma solicitação solicitamos uma maior atenção para o caso. O correto seria um prazo de 72 hrs para resolução do problema, mas com o andamento desta atualização este prazo poderá se estender.

 

Ficamos a disposição.

 

Atenciosamente,

Gabriel Ferreira

Suporte PagSeguro

 

 

Prezado Gabriel:

muito obrigado pela resposta, que é satisfatória.

 

Queira Deus que a solução não passe muito das setenta e duas horas esperadas.

 

Bom trabalho!

Atenciosamente,

Cláudio"

 

Tudo de bom para você, Patrique e para todos os membros e visitantes do iMasters Fóruns!

 

CCDB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, Patrique!

 

Muito obrigado! Espero estar ajudando aos possíveis interessados e também ao PagSeguro.

 

Tudo de bom para você, para os moderadores, os membros e os visitantes do iMasters!

 

CCDB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico Movido:

php http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Sistemas para E-commerce / PagSeguro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, William Bruno!

 

Muito grato pela mudança deste tópico ao local onde o originei.

 

Abraço forte e tudo de bom para você.

 

CCDB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados amigos do iMasters - Fóruns:

o problema do Post acaba de ser resolvido, sem que eu saiba como - provavelmente pelo pessoal do Desenvolvimento do PagSeguro.

 

Eis a Adenda à minha mensagem mais recente ao Suporte - Desenvolvimento do PagSeguro, que acabo de remeter a esse mesmo Suporte:

 

"EM TEMPO!

Acabamos todos de obter SUCESSO!!!

 

Recebi neste momento um e-mail de Notificação de conclusão de pagamento PagSeguro.

 

Olhei na minha conta PagSeguro, e o pagamento de um dos Clientes (nome do Cliente, supresso) aparece como Completo.

 

Olhei na tabela TransacoesPagSeguro do meu banco de dados e... eis que ali TAMBÉM aparece o mesmo pagamento com o StatusTrancacao de Completo!

 

Eis uma cópia do registro que acabo de colher na tabela supracitada:

 

(CÓDIGO DE AUTENTICAÇÃO DA COMPRA DE TEMPO DE LEITURA - SUPRESSO) ccdb@ccdb.gea.nom.br FR 0.00 0.00 Pagamento Online Completo (NOME DO CLIENTE - SUPRESSO) (E-MAIL E ENDEREÇO DO CLIENTE - SUPRESSO) (OUTROS CAMPOS - SUPRESSOS) 2009 7 2 2

 

Onde se lê Completo é o campo de StatusTransacao.

 

Onde se lê 2009 7 2 são três campos que utilizo para respectivamente o Ano, o Mês e o Dia. Portanto, a data está TAMBÉM atualizada, como deveria.

 

Os outros campos do registro continuam corretamente preenchidos.

 

Como não tenho explicação para oferecer sobre o súbito bom funcionamento dos POSTs, fica mesmo assim aqui o meu agradecimento ao senhor, aos desenvolvedores do PagSeguro e a Deus por este sucesso.

 

Espero que façamos boas vendas - e peço que torçam por este escritor aqui que teve de se fazer de programador.

 

O código da página de retorno do meu site continua como sempre foi e está ao seu dispor para análise.

 

Tudo de bom para todos do PagSeguro! e novamente obrigado!

 

Com atenção,

Cláudio"

 

De volta ao iMasters:

o código da página de retorno do meu site está ao dispor dos senhores todos, para sua análise, se lhes puder ser útil, desde que sem a senha, o nome do banco de dados e outras coisas sigilosas. Esse código lhes mostrará redundâncias e deselegâncias que os farão sorrirem, mas... funciona!

 

Caso se interessem em ver o código, solicito que, ao apresentá-lo aqui, este tópico NÃO seja movido para o fórum PHP, mas poderá ser apresentado TAMBÉM ali, sem que saia daqui.

 

Tudo de bom a todos vocês!

 

CCDB

 

Olá, amigos!

Bom dia!

 

Os prezados moderadores deste conceituado fórum bloquearam o meu tópico que tratava do formulário novo do PagSeguro. E os moderadores têm suas razões, que acato; entre elas, a de que este fórum não se destina a reclamações.

 

Porém, penso eu, se o fórum e seus moderadores as aceitassem, seriam ainda mais úteis a todos, inclusive ao PagSeguro e a seus usuários, bem como aos membros deste fórum. Pois de que adianta um fórum sobre algo que não funciona?! Agora, o PagSeguro volta a funcionar, com o formulário melhorado exatamente como sugeri; então, eis que este fórum volta a ter sua razão de ser.

 

Escrevo este novo item para contar, com entusiasmo, que minha reclamação aqui no fórum surtiu mais efeito do que as inúmeras que fiz diretamente ao PagSeguro: o famigerado botão "OK" foi retirado do formulário de compra de um só produto (número 4) pelos desenfolvedores do PagSeguro!

 

Fica aqui - e espero que isto não seja também censurado (...) - meu agradecimento a todos quantos leram aquele meu tópico antes do bloqueio - inclusive aos desenvolvedores do PagSeguro e aos prezados moderadores do iMasters Fóruns, a quem tudo desejo de bom.

 

Aproveito para agradecer a designação deste tópico em que ora estamos como "tópico quente" pelos sapientes moderadores. ;-)

 

Abraço forte,

CCDB

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.