Sabtech 0 Denunciar post Postado Janeiro 5, 2012 Estou tentando fazer uma requisição à API de Consulta de Notificações mas não sei se é esta a forma de se fazer em C# .Net tal ação, veja o código abaixo, ele gera um erro : "System.Net.WebException: O servidor remoto retornou um erro: (400) Solicitação Incorreta. em System.Net.HttpWebRequest.GetResponse()..." HttpWebRequest myHttpWebRequest = null; HttpWebResponse myHttpWebResponse = null; XmlDocument myXMLDocument = null; XmlTextReader myXMLReader = null; try { //Create Request myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("https://ws.pagseguro.uol.com.br/v2/transactions/notifications/83E85C03-AB24-4DF1-A391-FF68E478E2DA?email=davi@sabtech.com.br&token=2636E67AC46D41F8B3D39210FCC7BC41"); myHttpWebRequest.Method = "GET"; myHttpWebRequest.ContentType = "application/x-www-form-urlencoded"; //Get Response myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); //Now load the XML Document myXMLDocument = new XmlDocument(); //Load response stream into XMLReader myXMLReader = new XmlTextReader(myHttpWebResponse.GetResponseStream()); myXMLDocument.Load(myXMLReader); } catch (Exception myException) { throw new Exception("Error Occurred...", myException); } finally { myHttpWebRequest = null; myHttpWebResponse = null; myXMLReader = null; } Alguém pode me ajudar a fazer a requisição de notificação e pegar os dados do XML? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
alcaidedigital 57 Denunciar post Postado Janeiro 5, 2012 Não tente re-inventar a roda... O PagSeguro já tem uma lib para fazer toda essa comunicação em .NET. https://pagseguro.uo...tframework.html PS: Você está enviando os parâmetros via GET? Na documentação diz, que o PagSeguro irá esperar esses dados via POST. Eu não sou nenhum expert em .NET, sendo assim não consigo nem achar o erro no seu script, então aconselho usar a lib pronta. EU já usei e sei que funfa... Compartilhar este post Link para o post Compartilhar em outros sites
Sabtech 0 Denunciar post Postado Janeiro 5, 2012 Não tente re-inventar a roda... O PagSeguro já tem uma lib para fazer toda essa comunicação em .NET. https://pagseguro.uo...tframework.html PS: Você está enviando os parâmetros via GET? Na documentação diz, que o PagSeguro irá esperar esses dados via POST. Eu não sou nenhum expert em .NET, sendo assim não consigo nem achar o erro no seu script, então aconselho usar a lib pronta. EU já usei e sei que funfa... xD você tem razão a função esta pronta la na classe NotificationService. ... Usando um GET sim, porque esta buscando dados assim como o método CheckTransaction da classe NotificationService faz ... Então eu testei e o código da api retorna o mesmo erro que o código descrito la em cima. Será que falta eu informar alguma outra coisa olha só: try { AccountCredentials credentials = new AccountCredentials( "davi@sabtech.com.br", "EF9A383A43EF444ABC015227CB6DCD96" ); string notificationCode = "83E85C03-AB24-4DF1-A391-FF68E478E2DA"; Transaction transaction = NotificationService.CheckTransaction( credentials, notificationCode ); int i = transaction.TransactionStatus; } catch (PagSeguroServiceException ex) { } Compartilhar este post Link para o post Compartilhar em outros sites
alcaidedigital 57 Denunciar post Postado Janeiro 5, 2012 Manolo, você está usando a API de consulta por código de notificação e informando um código de transação. Veja ambas na doc: Código de notificação: https://pagseguro.uol.com.br/v2/guia-de-integracao/tutorial-da-biblioteca-pagseguro-netframework.html#receber-notificacoes Código de transação: https://pagseguro.uol.com.br/v2/guia-de-integracao/tutorial-da-biblioteca-pagseguro-netframework.html#consulta-por-codigo Compartilhar este post Link para o post Compartilhar em outros sites
Sabtech 0 Denunciar post Postado Janeiro 5, 2012 Não tente re-inventar a roda... O PagSeguro já tem uma lib para fazer toda essa comunicação em .NET. https://pagseguro.uo...tframework.html PS: Você está enviando os parâmetros via GET? Na documentação diz, que o PagSeguro irá esperar esses dados via POST. Eu não sou nenhum expert em .NET, sendo assim não consigo nem achar o erro no seu script, então aconselho usar a lib pronta. EU já usei e sei que funfa... humm desculpa senartes estou confundindo as coisas, notificationCode é uma coisa neh? transactionCode é outra certo? no eu inverti as coisas la no código por isso não funcionou. Por favor me ajude a entender a diferença. Olha só transactionCode : "59A13D84-52DA-4AB8-B365-1E7D893052B0" é o código gerado na conclusão da venda cujo objetivo é referenciá-la notificationCode : "1" O código que identifica a notificação notificationCode quem envia é o PagSeguro através de um POST na url setada no PagSeguro. Então como é passado os valores na QueryString?Ou na Session? tipo: "http://lojamodelo.com.br/notificacao.aspx?¬ificationCode=valor¬ificationType=valor" Compartilhar este post Link para o post Compartilhar em outros sites
alcaidedigital 57 Denunciar post Postado Janeiro 5, 2012 O PagSeguro envia o notification code para a URL cadastrada em: https://pagseguro.uo...ransacoes.jhtml Os dados são enviados via post, logo não terá nada em queryString (get) PS: Cara, troca seu token... acabei de testar seu token e você passou aqui um token válido... nunca se alguém fizer mal uso dele. Compartilhar este post Link para o post Compartilhar em outros sites
Sabtech 0 Denunciar post Postado Janeiro 5, 2012 O PagSeguro envia o notification code para a URL cadastrada em: https://pagseguro.uo...ransacoes.jhtml Os dados são enviados via post, logo não terá nada em queryString (get) PS: Cara, troca seu token... acabei de testar seu token e você passou aqui um token válido... nunca se alguém fizer mal uso dele. certo agora entendi o esquema, é "automatico" kkk xD e a minha aplicação só tem que tratar. senartes vlw kra! Troquei o token Obrigado pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites