Ir para conteúdo

POWERED BY:

Arquivado

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

lmatteo

[Resolvido] CIELO e http post

Recommended Posts

Tá difícil, já tentei tudo que é link de modelo, São Google e muito mais. O meu problema é o seguinte:

A Cielo mudou a integração com o serviço deles, disseram que é mais prático, seguro, blá bla bla bla..., eles agora utilizam web service e envio e retorno por xml, na net utilizei um codigo assim:

<%
dim xml

   xml = "<?xml version='1.0' encoding='ISO-8859-1'?>" & VbCrLf
   xml = xml & "<requisicao-transacao id='1' versao='1.1.0'>" & VbCrLf
xml = xml & "<dados-ec>" & VbCrLf
   xml = xml & "<numero>" & "xxxxxxxxxxx"& "</numero>" & VbCrLf
   xml = xml & "<chave>" & "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" & "</chave>" & VbCrLf
xml = xml & "</dados-ec>" & VbCrLf
xml = xml & "<dados-pedido>" & VbCrLf
xml = xml & "<numero>" & "875412789"& "</numero>" & VbCrLf
xml = xml & "<valor>" & "100"& "</valor>" & VbCrLf
xml = xml & "<moeda>" & "875412789"& "</moeda>" & VbCrLf
xml = xml & "<data-hora>" & "2011-03-25T13:56:12"& "</data-hora>" & VbCrLf
xml = xml & "<idioma>" & "PT"& "</idioma>" & VbCrLf
xml = xml & "</dados-pedido>" & VbCrLf
   xml = xml & "<forma-pagamento>" & VbCrLf
xml = xml & "<bandeira>" & "visa"& "</bandeira>" & VbCrLf
xml = xml & "<produto>" & "1"& "</produto>" & VbCrLf
xml = xml & "<parcela>" & "1"& "</parcela>" & VbCrLf
xml = xml & "</forma-pagamento>" & VbCrLf
xml = xml & "<url-retorno>" & "http://www.sobahia.com/final.asp"& "</url-retorno>" & VbCrLf
xml = xml & "<autorizar>" & "2"& "</autorizar>" & VbCrLf
xml = xml & "<capturar>" & "false"& "</capturar>" & VbCrLf
   xml = xml & "</requisicao-transacao>" & VbCrLf



Set oXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.open "POST", "https://ecommerce.cbmp.com.br/servicos/ecommwsec.do", false
oXMLHTTP.send xml

'Exibe o retorno do servidor. Como se trata de um documento XML, usamos as tags XMP para exibir o seu conteúdo, sem que o browser interprete-o. Opcionalmente, poderíamos transformar este documento em HTML, ou interagir com a base de dados local, dependendo da resposta.

response.write "<xmp>" & oXMLHTTP.responseXML.xml & "</xmp>"

%>

Só que quando acesso a pagina dá este erro:

<?xml version="1.0"?>
<erro xmlns="http://ecommerce.cbmp.com.br">
<codigo>001</codigo>
<mensagem>Requisição inválida</mensagem>
</erro>

 

O Suporte da Cielo diz que é problema no XML, então peço ajuda de vocês, podem identificar aonde estou errando??

 

Vocês são minha última esperança!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother,

 

Faz assim, no final ao invez de:

 

Set oXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")

oXMLHTTP.open "POST", "https://ecommerce.cbmp.com.br/servicos/ecommwsec.do", false

oXMLHTTP.send xml

response.write "<xmp>" & oXMLHTTP.responseXML.xml & "</xmp>"

 

Coloca para exibir o XML, assim você confere e ve se ta indo certo.

 

Response.write(xml)

 

Depois, posta o resultado aqui

 

Caso não dê, troque o endereço por este ( https://qasecommerce.cielo.com.br/servicos/ecommwsec.do )

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother,

 

Faz assim, no final ao invez de:

 

Set oXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")

oXMLHTTP.open "POST", "https://ecommerce.cbmp.com.br/servicos/ecommwsec.do", false

oXMLHTTP.send xml

response.write "<xmp>" & oXMLHTTP.responseXML.xml & "</xmp>"

 

Coloca para exibir o XML, assim você confere e ve se ta indo certo.

 

Response.write(xml)

 

Depois, posta o resultado aqui

 

Caso não dê, troque o endereço por este ( https://qasecommerce.cielo.com.br/servicos/ecommwsec.do )

 

aparece:

 

10307xxxxx 869ac1fc3f02e9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx7c29f8f88499e8bbf2 875412789 100 875412789 2011-03-25T13:56:12 PT visa 1 1 http://www.sobahia.com/final.asp 2 false

 

tá passando os dados, não sei se na formatação certa.

 

Ah, se eu mudar para https://qasecommerce.cielo.com.br/servicos/ecommwsec.do não funciona, pq minha chave já não é mais teste e sim produção.

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele gera algum erro ??

 

no site da cielo, eles não tem um tutorial ou exemplo:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother,

 

Você tem o manual de integração da CIELO?

 

Testei no meu servidor este código e gerou o mesmo erro (logicamente que não tenho as chaves...rs).

 

No Manual fala que tem que ser via POST mesmo?

 

Por que tentei via GET e não deu erro nenhum...mude o seu ai e ve o que da.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou enviando via POST, como eles pedem. O erro é:

 

<?xml version="1.0"?>

<erro xmlns="http://ecommerce.cbmp.com.br">

<codigo>001</codigo>

<mensagem>Requisição inválida</mensagem>

</erro>

 

 

Tenho o manual sim. Vou deixar o link para vocês baixarem (www.sobahia.com/kit_cielo.zip) . Não tem exemplo em asp, só java e php. Tentei adaptar o php deles, até conseguí, o problema é que me informaram qua a loja modelo em php só funciona para teste, não para produção. O que eles me falam que o problema é no xml (na formatação do xml)..............aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (desculpe o desabafo)!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O funcionamento do sistema novo está disponivel através do manual, ele não é tão fácil de entender, não é bem explicativo, mas consultando você consegue...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O funcionamento do sistema novo está disponivel através do manual, ele não é tão fácil de entender, não é bem explicativo, mas consultando você consegue...

 

Oi Xamburzum, o desafio é realmente este. Eu já lí, coloquei para funcionar em php (só funciona em teste, na hora produção não), mas em asp com o código que eu disponibilizei aqui no forum os dados são transmitidos por http Post até a Cielo, o problema é que dá um erro de requisão inválida, quando ligo na Cielo o suporte informa que é na formatação do xml, essa é a minha grande pergunta aos sábios do forum: Alguém pode me informar se o xml está com erro? Alguém já conseguiu implantar esta solução de XML + ASP + CIELO com sucesso?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

 

Vi o MANUAL que você postou, mas é um de GATEWAY da locaweb e tem exemplo em ASP tbm...você teria o manual da CIELO?

 

Se tiver, posta o link que posso olhar o que consigo fazer pra te ajudar nisso...

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

 

Vi o MANUAL que você postou, mas é um de GATEWAY da locaweb e tem exemplo em ASP tbm...você teria o manual da CIELO?

 

Se tiver, posta o link que posso olhar o que consigo fazer pra te ajudar nisso...

 

Abs

Opa....desculpe Working, estou colocando o endereço correto: www.sobahia.com/manual-cielo.pdf . Também coloco o Guia da Loja virtual que tem modelo JSP - JAVA: www.sobahia.com/guia-cielo.pdf . Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste como esta atualmente sua estrutura XML...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tinha alguns errinhos em seu código!

 

Agora está funcionando.

 


<%
   dim xml

   xml = "<?xml version=""1.0"" encoding=""ISO-8859-1""?>"
   xml = xml & "<requisicao-transacao id=""1"" versao=""1.1.0"">"
   xml = xml & "<dados-ec>"
   xml = xml & "<numero>1006993069</numero>"
   xml = xml & "<chave>25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3</chave>"
   xml = xml & "</dados-ec>"
   xml = xml & "<dados-pedido>"
   xml = xml & "<numero>15</numero>"
   xml = xml & "<valor>100</valor>"
   xml = xml & "<moeda>986</moeda>"
   xml = xml & "<data-hora>2011-03-25T13:56:12</data-hora>"
   xml = xml & "<idioma>PT</idioma>"
   xml = xml & "</dados-pedido>"
   xml = xml & "<forma-pagamento>"
   xml = xml & "<bandeira>visa</bandeira>"
   xml = xml & "<produto>1</produto>"
   xml = xml & "<parcelas>1</parcelas>"
   xml = xml & "</forma-pagamento>"
   xml = xml & "<url-retorno>http://www.sobahia.com/final.asp</url-retorno>"
   xml = xml & "<autorizar>2</autorizar>"
   xml = xml & "<capturar>false</capturar>"
   xml = xml & "</requisicao-transacao>"

   Set oXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")


   oXMLHTTP.open "POST", "https://qasecommerce.cielo.com.br/servicos/ecommwsec.do", false

   oXMLHTTP.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
   oXMLHTTP.setRequestHeader "charset", "utf-8" 
   oXMLHTTP.setRequestHeader "Content-Length", CStr(Len(xml))


   oXMLHTTP.Send("mensagem=" & xml)



   'Exibe o retorno do servidor. Como se trata de um documento XML, usamos as tags XMP para exibir o seu conteúdo, sem que o browser interprete-o. Opcionalmente, poderíamos transformar este documento em HTML, ou interagir com a base de dados local, dependendo da resposta.


   response.write "<xmp>" & oXMLHTTP.responseXML.xml & "</xmp>"

   %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido! Agradeço a atenção de todos. O erro era elementar, mas como sou iniciante xml não ví! O bom disso tudo foi a experiência em xml que agora possuo, eu ignorava esta poderosa tecnologia....até hoje. Quem tiver problema semelhante me mande um e-mail lucasmatteo@msn.com que eu ajudo.

 

Abraços a todos!

 

Tinha alguns errinhos em seu código!

 

Agora está funcionando.

 


<%
   dim xml

   xml = "<?xml version=""1.0"" encoding=""ISO-8859-1""?>"
   xml = xml & "<requisicao-transacao id=""1"" versao=""1.1.0"">"
   xml = xml & "<dados-ec>"
   xml = xml & "<numero>1006993069</numero>"
   xml = xml & "<chave>25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3</chave>"
   xml = xml & "</dados-ec>"
   xml = xml & "<dados-pedido>"
   xml = xml & "<numero>15</numero>"
   xml = xml & "<valor>100</valor>"
   xml = xml & "<moeda>986</moeda>"
   xml = xml & "<data-hora>2011-03-25T13:56:12</data-hora>"
   xml = xml & "<idioma>PT</idioma>"
   xml = xml & "</dados-pedido>"
   xml = xml & "<forma-pagamento>"
   xml = xml & "<bandeira>visa</bandeira>"
   xml = xml & "<produto>1</produto>"
   xml = xml & "<parcelas>1</parcelas>"
   xml = xml & "</forma-pagamento>"
   xml = xml & "<url-retorno>http://www.sobahia.com/final.asp</url-retorno>"
   xml = xml & "<autorizar>2</autorizar>"
   xml = xml & "<capturar>false</capturar>"
   xml = xml & "</requisicao-transacao>"

   Set oXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")


   oXMLHTTP.open "POST", "https://qasecommerce.cielo.com.br/servicos/ecommwsec.do", false

   oXMLHTTP.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
   oXMLHTTP.setRequestHeader "charset", "utf-8" 
   oXMLHTTP.setRequestHeader "Content-Length", CStr(Len(xml))


   oXMLHTTP.Send("mensagem=" & xml)



   'Exibe o retorno do servidor. Como se trata de um documento XML, usamos as tags XMP para exibir o seu conteúdo, sem que o browser interprete-o. Opcionalmente, poderíamos transformar este documento em HTML, ou interagir com a base de dados local, dependendo da resposta.


   response.write "<xmp>" & oXMLHTTP.responseXML.xml & "</xmp>"

   %>

 

Tinha alguns errinhos em seu código!

 

Agora está funcionando.

 


<%
   dim xml

   xml = "<?xml version=""1.0"" encoding=""ISO-8859-1""?>"
   xml = xml & "<requisicao-transacao id=""1"" versao=""1.1.0"">"
   xml = xml & "<dados-ec>"
   xml = xml & "<numero>1006993069</numero>"
   xml = xml & "<chave>25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3</chave>"
   xml = xml & "</dados-ec>"
   xml = xml & "<dados-pedido>"
   xml = xml & "<numero>15</numero>"
   xml = xml & "<valor>100</valor>"
   xml = xml & "<moeda>986</moeda>"
   xml = xml & "<data-hora>2011-03-25T13:56:12</data-hora>"
   xml = xml & "<idioma>PT</idioma>"
   xml = xml & "</dados-pedido>"
   xml = xml & "<forma-pagamento>"
   xml = xml & "<bandeira>visa</bandeira>"
   xml = xml & "<produto>1</produto>"
   xml = xml & "<parcelas>1</parcelas>"
   xml = xml & "</forma-pagamento>"
   xml = xml & "<url-retorno>http://www.sobahia.com/final.asp</url-retorno>"
   xml = xml & "<autorizar>2</autorizar>"
   xml = xml & "<capturar>false</capturar>"
   xml = xml & "</requisicao-transacao>"

   Set oXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP")


   oXMLHTTP.open "POST", "https://qasecommerce.cielo.com.br/servicos/ecommwsec.do", false

   oXMLHTTP.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
   oXMLHTTP.setRequestHeader "charset", "utf-8" 
   oXMLHTTP.setRequestHeader "Content-Length", CStr(Len(xml))


   oXMLHTTP.Send("mensagem=" & xml)



   'Exibe o retorno do servidor. Como se trata de um documento XML, usamos as tags XMP para exibir o seu conteúdo, sem que o browser interprete-o. Opcionalmente, poderíamos transformar este documento em HTML, ou interagir com a base de dados local, dependendo da resposta.


   response.write "<xmp>" & oXMLHTTP.responseXML.xml & "</xmp>"

   %>

Oi Fabiano, já conseguí, meu código é um pouco diferente do seu mas deu na mesma na lógica. Agradeço pela força!

 

O que aconteceu foi que a Cielo não mostra o erro exato. Dá um erro genérico. Tive que desativar a mensagem de erro deles e forçar o erro com um code xml que eu vi na net. Pronto! Mostrou exatamente os campos com valores errados!

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.