2011-03-17 108 views
1

我想弄清楚如何防止用户订阅不止一次。我刚刚使用PayPal订阅和IPN完成了高级会员的PHP应用程序。PHP - 贝宝订阅

当用户登录到他们的帐户时,如果他们还不是高级会员,他们就会出现在他们可以从下拉列表中选择的高级选项中。

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

问题: PayPal IPN通知不是即时的,有时会在成功订购后和第一条通知到达之前花费几分钟时间。所以注册表单在这段时间内是暴露的。用户可能认为他们的订阅不起作用,可能会尝试再次订阅。没有收到PayPal的通知,我无法知道表单是否应该隐藏。

排队:你会推荐什么解决方案来解决这个问题?

回答

0

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

当您收到IPN只是改变订购状态活跃:1

因此,你将不会显示认购承诺,谁正在进行的用户,但你会表现出像

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