PayPal订阅 - IPN处理和站点流程?

时间:2009-07-07 03:59:45

标签: paypal

对于我的会员网站,我已经完成了IPN处理程序。我的问题是网站“流量”之一。

这是怎么回事: 用户 - >着陆 - > SignUp - >验证 - > PayPal - > THANKYOU

所以这就是问题(可能只是在我脑海中)。假设您已注册并验证了自己的帐户。然后单击“订阅!”链接并发送到paypal - 您完成付款并被发送到“谢谢”页面。

如果IPN没有快速返回我的网站怎么办?订阅链接仍然存在,用户可能会再次点击它认为他们没有订阅(即使他们有,也只是花时间)。

如果我通过更新他们的个人资料来说明......“激活......”,当他们点击“订阅”链接,并且他们没有完成PayPal流程时...它可能永远是说“激活” ......“。

好奇,因为这是我第一次整合PayPal:

  • 如何处理用户点击订阅链接与完成IPN流程所需的时间之间的状态?

  • 您是否曾遇到任何IPN无法快速到达的问题?

2 个答案:

答案 0 :(得分:1)

我从来没有遇到任何IPN快速到达的问题,但是我再也没有真正拥有一个拥有大量用户的庞大网站。在收到IPN之前,我也没有对用户帐户进行任何重大更改。

我使用paypal API为我的某个网站进行了付费注册。用户会填写他们的用户名,密码等,我会将变量传递给paypal API。在我收到IPN之前,数据不会被执行。

如果您觉得“激活...”状态在用户个人资料中很重要,您可以随时将时间戳与待处理付款相关联。待处理的付款可能会在10分钟后超时。

答案 1 :(得分:1)

您的问题表明与远程服务器的连接是异步的(ajax)?

以同步方式编写它可能更容易,因此IPN可以保证返回。如果没有,则意味着:

a)用户在重定向到远程服务器后关闭浏览器;
b)远程服务器没有响应。

如果用户点击“取消”按钮,好的付款网关会将用户重定向回您的网站,但是从不保证返回,因此您需要正确处理。

我会有一个单独的表来记录给定用户的事务;那就是:

一个用户,多个交易

某些支付网关允许您在交易完成时定义为对服务器的回调。也就是说,连接是由网关启动的 - 它不会运行浏览器,因为用户可以关闭选项卡/窗口 - 它会在回调URL中发布帖子,然后更新事务的状态。

我不确定PayPal是否允许这样的事情,但到目前为止,我从未遇到过PayPal的问题,因为我总是以同步的方式写它。

当然,如果需要异步,那么你的ajax函数必须有一个超时/错误处理程序 - 当然我推荐使用jQuery。