我试图弄清楚如何防止用户多次订阅。我刚刚使用PayPal订阅和IPN完成了高级会员的PHP应用程序。
当用户登录他们的帐户并且他们还不是高级会员时,他们会看到可以从下拉列表中选择的高级选项。
订阅后,此表单会在订阅处于活动状态时隐藏。订阅到期后,表格会再次显示。
问题: PayPal IPN通知不是即时的,有时需要几分钟后才能成功订阅并在第一次通知到来之前。因此,在此期间会显示注册表单。用户可能认为他们的订阅不起作用,可能会尝试再次订阅。没有收到PayPal的通知,我无法知道表格是否应该被隐藏。
问题:您建议采用什么解决方案来解决此问题?
答案 0 :(得分:0)
在将用户重定向到paypal之前,在您的数据库中创建订阅。创建特殊标志,如active:0。创建非活动订阅传递给PP order_id参数。
当您收到IPN时,只需更改订阅状态:1
因此,您不会向正在进行中的用户显示订阅优惠,但您将显示另一个页面,如
您的订阅正在进行中。请在几分钟内刷新此页面。如果仍然无法访问,请与管理员联系。