PHP - 贝宝订阅

时间:2011-03-17 18:10:00

标签: paypal paypal-ipn

我试图弄清楚如何防止用户多次订阅。我刚刚使用PayPal订阅和IPN完成了高级会员的PHP应用程序。

当用户登录他们的帐户并且他们还不是高级会员时,他们会看到可以从下拉列表中选择的高级选项。

订阅后,此表单会在订阅处于活动状态时隐藏。订阅到期后,表格会再次显示。

问题: PayPal IPN通知不是即时的,有时需要几分钟后才能成功订阅并在第一次通知到来之前。因此,在此期间会显示注册表单。用户可能认为他们的订阅不起作用,可能会尝试再次订阅。没有收到PayPal的通知,我无法知道表格是否应该被隐藏。

问题:您建议采用什么解决方案来解决此问题?

1 个答案:

答案 0 :(得分:0)

在将用户重定向到paypal之前,在您的数据库中创建订阅。创建特殊标志,如active:0。创建非活动订阅传递给PP order_id参数。

当您收到IPN时,只需更改订阅状态:1

因此,您不会向正在进行中的用户显示订阅优惠,但您将显示另一个页面,如

  

您的订阅正在进行中。请在几分钟内刷新此页面。如果仍然无法访问,请与管理员联系。

相关问题