PayPal不会重定向到MVC系统中的IPN notify_url

时间:2018-03-12 08:33:26

标签: asp.net-mvc paypal paypal-ipn

我正在使用IPN在我正在处理的MVC系统中接收付款通知。在验证了某些零碎之后,我继续使用"订阅"来更新数据库。和"付款详情"对于特定用户。我正在使用" notify_url"重定向回系统并启动PaymentNotification方法。这个工作正常,直到几天前,它突然停止工作。首先,我认为由于方法本身存在问题,数据库没有更新,但后来我发现PaymentNotification(IPN)方法根本没有被击中。

一些注意事项:

  1. 来自paypal开发者页面的测试似乎正确重定向 进入IPN。直接从浏览器调用链接也会触及该方法,因此它似乎可从外部访问。
  2. 我正在使用NGROK使本地主机看起来像它 从实时域名运行。它不适用于HTTP或 HTTPS。我还在HTTP域中测试沙箱配置的托管环境,但它也无法正常工作。
  3. 我正在调试验证表单中的隐藏值 在重定向到Paypal和所有值之前,包括: notify_url已正确填充。这很有效但很突然 停止。
  4. 有些问题:

    • 可能是什么原因?为什么它会在整个开发过程中发挥作用 阶段,但突然停止工作?当然,我无法承受 这停止了​​在现场环境中工作!
    • 这可能是一个问题 与沙箱环境? IPN对Live系统安全吗?有人可以从经验谈谈吗?
    • 或 是否有更好的选择我可以研究一下?
    • 我读了这个article 讨论验证/激活沙箱的电子邮件地址 帐户。任何人都可以表明可能是什么?而且是否一样 正在使用的电子邮件地址本来可以正常工作 停止?他们需要真正的电子邮件吗?正如我正在使用的那些(并且也在工作)与真正的paypal帐户无关。

1 个答案:

答案 0 :(得分:0)

正如评论中所建议的,即使仅在沙盒模式下测试Paypal,自2016年9月起,PayPal IPN处理也需要TLS 1.2。在我的情况下,将沙盒测试业务和个人电子邮件更改为真实/有效的电子邮件,解决了我在本地使用NGROK作为本地主机的安全隧道进行测试的问题。更重要的是,当我实际使用HTTPS证书时,这应该不是问题。