验证 IPN 呼叫来自 PayPal?

2021-12-29 00:00:00 security php paypal paypal-ipn

如何验证对我指定的 notifyURL 的 PayPal IPN POST 请求确实来自 PayPal?

How can I validate that a PayPal IPN POST request to my specified notifyURL is indeed coming from PayPal?

我的意思不是将数据与我之前发送的数据进行比较,但是我如何验证此 PayPal 请求来自的服务器/IP 地址确实是有效的?

I don't mean comparing the data to what I sent earlier, but how can I verify that the server / IP address this PayPal request is coming from is indeed a valid one?

推荐答案

IPN 协议由三个部分组成步骤:

The IPN protocol consists of three steps:

  1. PayPal 向您的 IPN 侦听器发送一个通知您事件的消息
  2. 您的听众发送完整的未更改的消息返回 PayPal;这消息必须包含相同的字段以相同的顺序并被编码为与原始消息相同的方式
  3. PayPal 发回一个字,即如果消息被验证源自 PayPal 或 INVALID 如果与之前的内容有任何差异原发

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_admin_IPNIntro

相关文章