如何只允许 Paypal 请求我的 notify_url?

How do I allow only Paypal to request my notify_url?

我在我的网站上使用 Paypal 付款,当有人成功完成购买时,Paypal 会调用我指定的 notify_url 并向其传递一些 POST 数据。从 POST 我只使用 item_number 和 txn_id.

我用于 notify_url 的 URL 是 public URL 并且任何人都可以访问它。我如何确保只有 Paypal 可以请求此 URL 而其他人都被阻止?

仅允许 POST,并实施 IPN 文档中描述的回调验证。

正如@EJP 提到的,将验证发送回 PayPal 将允许您验证数据来自 PayPal,这样您就知道它是合法的,但其他人仍然可以点击 URL。

如果您想完全阻止它们,您可以通过您服务器上的 .htaccess 文件(假设您是 运行 Apache)或使用您的防火墙来实现。您只需要阻止除 PayPal 的 IPN IP 地址之外的所有流量。

64.4.248.8
64.4.249.8
173.0.84.40
173.0.84.8
173.0.88.40
173.0.88.8
173.0.92.8
173.0.93.8