Ir para conteúdo

POWERED BY:

Arquivado

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

JGD

PagSeguro Retorno Automático

Recommended Posts

Gente, por favor, uma ajuda.

 

Estou lendo, tentado, mudando a implantação desta rotina a 2 dias...

Estou com os olhos ardendo de tanta leitura.

Tá certo! Avancei bastante...

Consigo receber o Post, consigo validar o Token via Post.... Consigo gerar Log....

Mas não consigo pegar o status do pagamento da transação.

 

Gente não seria um simples UpDate neste lugar???

 

if result = "VERIFICADO" then

'O post foi validado pelo PagSeguro.

UpDate tabela Set statusPgto=’”& request(“StatusTransacao”) where id=” & Request(“Referencia”) &””.

 

elseif result = "FALSO" then

'O post não foi validado pelo PagSeguro.

else

'Erro na integração com o PagSeguro.

end if

 

No exemplo da visie : http://visie.com.br/pagseguro/linguagem/asp/

 

???

 

Tem alguma restrição quanto a criação da conexão, recordset, etc.??

 

Algum dica por favor.

 

JGD

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo.

 

<%
response.ContentType = "text/HTML"
response.Charset = "ISO-8859-1"

Dim TOKEN

'TOKEN = "cole aqui o token do vendedor"



timeout = 20  'Timeout em segundos

function notificationPost()

postdata = "Comando=validar&Token=" & TOKEN

For each x In Request.Form
	valued = clearStr(request.Form(x))
	postdata = postdata & "&" & x & "=" & valued
Next

notificationPost = verify(postdata)

end Function

function clearStr(str)

str = replace(str, "'","\'")
clearStr = str

end function

function verify(data)

strUrl = "https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml"

Set xmlHttp = Server.Createobject("MSXML2.ServerXMLHTTP")

xmlHttp.Open "POST", strUrl, False
xmlHttp.setRequestHeader "User-Agent", "asp httprequest"
xmlHttp.setRequestHeader "content-type", "application/x-www-form-urlencoded"
xmlHttp.setRequestHeader "content-length", Len(data)
xmlHttp.Send(data)

retorno = xmlHttp.responseText

xmlHttp.abort()

set xmlHttp = Nothing

verify = retorno

end function

if Request.Form.count > 0 then

result = notificationPost()

if Request.Form("TransacaoID") <> empty then
	transacaoID = Request.Form("TransacaoID")
Else
	transacaoID = ""
end If

if result = "VERIFICADO" then
	'O post foi validado pelo PagSeguro.
elseif result = "FALSO" then
	'O post não foi validado pelo PagSeguro.
else
	'Erro na integração com o PagSeguro.
end if

else
' POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro.
' No término do checkout o usuário é redirecionado para este bloco.
%>

   <h3>Obrigado por efetuar a compra.</h3>

   <%
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum,

 

É a sugestão do vise.

E como pego a o estado para executar o UpDade. ????

Uma vez que o request.form fica vazio quase que imediatamente!.

 

Gente,

Como disse, vejo os dados via log txt.

So preciso de uma exemplo de como pegar esta querystring e executar executar o UpDate antes da troca da session.

 

JGD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, apanhei demais com isso também, acabou que fiz em PHP. Foi melhor.. o tempo que eu tinha para finalizar o projeto não compensava fritar nisso.. é realmente mt fraca a documentação do pagSeguro :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Pessoal,

 

Estou tentando fazer o update via MSXML2.ServerXMLHTTP.

 

Só que ta dando erro :

 

msxml3.dll error '80072ee2'

The operation timed out

 

Alguem saberia o time out defalt do Post/robô

 

 

JGD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso pode ser que o site que você estava tentando analisar ou não pôde ser encontrado, ou ocorreu falha no componente , ou está tomando muito tempo para que a página termine de carregar. Uma forma de evitar este erro é definir valores limite que são mais conservadores, por exemplo:

 

<%  
   url = "http://www.site.com/default.html"  
   set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 

   ' resolve, connect, send, receive - milliseconds 
   xmlhttp.setTimeouts 5000, 60000, 10000, 10000 

   xmlhttp.open "GET", url, false  
   xmlhttp.send ""  
   Response.write xmlhttp.responseText  
   set xmlhttp = nothing  
%>

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.