PHP - 贝宝订阅

Posted

技术标签:

【中文标题】PHP - 贝宝订阅【英文标题】:PHP - PayPal Subscriptions 【发布时间】:2011-07-17 15:08:29 【问题描述】:

我正试图弄清楚如何防止用户多次订阅。我刚刚使用 PayPal 订阅和 IPN 完成了高级会员的 php 申请。

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于PHP - 贝宝订阅的主要内容,如果未能解决你的问题,请参考以下文章

使用贝宝订阅的 PHP 用户注册

贝宝订阅集成

在贝宝(贝宝订阅)中首次定期付款时应用折扣优惠券代码

如何使用贝宝 DirectPayment 方法激活订阅流程

贝宝 - 订阅按钮

为暂停的订阅正确的贝宝 IPN 变量