如何通过PayPal IPN机制连续调用多个URL?

时间:2013-11-07 14:54:05

标签: paypal paypal-ipn paypal-sandbox

我对Paypal IPN机制的理解是,我的网站应发送包含以下内容的消息:

  1. 如果USER完成Paypal付款流程,则转到的网址

  2. 如果用户点击取消

  3. ,则转到的网址
  4. 一旦检查了付款的有效性(用户完成付款后),就会转到的网址。

  5. 但这没有道理。

    我有一个asp.net网站。

    我向用户提供付款页面。他输入了他想要支付的小部件数量。 然后它将他路由到PayPal。

    让我们说他完成了付给我的所有步骤。 所以现在他再次被发送到我的网站,在#1的URL,告诉他应该在5分钟内验证付款。 但是,几毫秒之后,根据我(可能是错误的)理解,他应该被发送到#3中的URL。此URL是一个空白页面,因为它只是执行将成功发票存储在数据库中的代码。

    当我实际尝试时,他被发送到URL#1,但没有迹象表明他被发送到URL#3。没有存储发票,也不会显示空白页。

    我使用的是沙箱,而不是真正的网站。此外,我的所有页面都受密码保护,但这不会阻止URL#1(因为用户已登录),所以我的猜测是它不应该阻止URL#3。

    感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

  

我对Paypal IPN机制的理解是,我的网站应发送包含以下内容的消息:

     

如果USER完成Paypal付款流程,则转到的网址

正确。

  

如果用户点击取消

,则转到的网址

正确。

  

一旦检查了付款的有效性(用户完成付款后),就转到的网址。

不正确的。这是PayPal POST的一个URL,与当前浏览器会话无关,付款完成时。那是你的IPN处理程序。

  

但这没有道理。

同意。这也不正确。

  

当我实际尝试时,他被发送到URL#1,但没有迹象表明他被发送到URL#3。没有存储发票,也不会显示空白页。

他不是。 PayPal尝试将IPN发布到该URL。你应该听一些东西来处理交易。 IPN处理程序还有其他要求,例如验证,重复处理等,您需要熟悉它们。