Jump to content

Validar origem de requisição de maneira segura


Jonathan403

Recommended Posts

Pessoal, tenho um e-commerce e to integrando ele com a CIELO pra poder receber pagamentos. E aí quando o pagamento é confirmado, a CIELO envia um POST pro meu site dizendo q o pagamento foi realizado com sucesso e com os dados e tal...
porém qualquer pessoa consegue enviar um POST fingindo ser a CIELO. Eu preciso de alguma forma de validar se a requisição ta vindo da CIELO. Alguém saberia uma forma segura de fazer isso ?
Pensei em verificar se o IP é do servidor da CIELO, mas preciso de uma forma, que mesmo se o IP do servidor deles mudar, meu validador ainda continue funcionando. Alguma idéia ?

Link to comment
Share on other sites

Nunca usei a API deles mas confira na documentação na parte que fala sobre o POST de notificação. Segundo o que tá lá um PaymentId é enviado na requisição, o que te permite consultar o status da transação. O fluxo seria tipo:

  1. Recebi o POST com PaymentId.
  2. Uso o PaymentId para consultar na API o status da transação.

Na documentação também diz que é possível cadastrar headers que serão enviados nessa requisição com um valor fixo. Isso pode servir como filtro para ter uma segurança mínima de que foi mesmo a CIELO que enviou o POST. Mas eu não confiaria tanto assim. ?

image.thumb.png.e5bee66cda584ee4511d4a7c4a5d45d5.png

Link to comment
Share on other sites

Opa! obrigado pela resposta Fernando e Felipe. Eu dei uma olhada lá na documentação, e vi que eles enviam o código de autorização da API no POST também. Acho q dá pra validar com isso também. Também dá pra fazer dessa forma que o Felipe disse, posso tentar varlidar pelo Paymentid também. Vou dar uma estudada aqui pra saber qual das 2 formas aplicar. Se faço com o código de autorização, ou se faço pelo Paymentid mesmo. Valeu aí pessoal!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...