Retorno PagSeguro em Asp
Estou testando com o pagseguro TestServer passando as variáveis via post, o testserver recebe corretamente os dados mas na hora de retornar retorna vazio... estou usando o exemplo do pagseguro mesmo e nao acho a solução.
Navegando achei algumas soluções como <input type='hidden' name='encoding' value='UTF-8'> pois poderia ser acentuação.
Mas nada adiantou.
Sempre vai no ultimo else = Response.write("POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro")
<%
response.ContentType = "text/HTML"
response.Charset = "ISO-8859-1"
Dim TOKEN
TOKEN = "00000000000000000000000000000"
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 & "=" & valuedNext
valued = request.Form(x)
postData = postData & "&" & x & "=" & Server.URLEncode(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"
'strUrl = "http://localhost:9090/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.
Response.write("O post foi validado pelo PagSeguro.")
elseif result = "FALSO" then
'O post não foi validado pelo PagSeguro.
Response.write("O post não foi validado pelo PagSeguro")
else
'Erro na integração com o PagSeguro.
Response.write("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.
Response.write("POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro")
%>
<h3>Obrigado por efetuar a compra.</h3>ode]
<%
end if
%>Discussão (3)
Carregando comentários...