55

我正在使用运行良好的 Paypal IPN 向网站添加订阅,我可以成功创建新订阅并对其进行验证。该订阅有两周的免费试用期。不幸的是,该指南对订阅状态有点含糊。

目前,一旦收到 subscr_signup 或 subscr_payment,用户帐户就会获得订阅状态,并在收到 subscr_cancel 或 subscr_failed 时被删除。我相信这是正确的,但最好确定一下。

还有什么是 subscr_eot?IPN 指南将其描述为“订阅期结束”。试用期结束后会触发吗?

4

4 回答 4

82

subscr_eot当用户的最后一次付费间隔到期时发送。 subscr_cancel用户取消订阅后立即发送 - 例如:

用户在第 1 天注册订阅,每月计费一次。 subscr_signup立即subscr_payment发送,在付款完成后立即发送(通常也是立即发送)。

第 13 天,用户取消。 subscr_cancel立即发送,尽管用户在技术上已支付到第 30 天。此时取消取决于您。

在第 30 天,subscr_eot发送 - 用户已取消,这是他最后一次付款的日期。

试用订阅没有太大变化 - 如果用户在试用订阅结束之前取消,subscr_cancel立即发送,并subscr_eot在试用结束时发送。

于 2009-07-28T16:30:19.163 回答
38

此外,一个有趣的细节是如何subscr_eotsubscr_failed.

看起来像是subscr_eotFINAL subscr_failed之后。因此,如果在您的帐户中将其设置为自动重试失败的付款 3 次,那么它应该是这样的:

第一次付款失败 => subscr_failed 第二次付款失败 => subscr_failed 第三次付款失败 => subscr_failed 和 subscr_eot

所以基本上在你的代码中你可以设置subscr_failed触发一封电子邮件

嗨用户,请花点时间检查您的付款信息,您可能需要更新信用卡到期日期等。您仍然可以访问,我们将在几天后重试。

并设置subscr_eot为实际关闭他们的订阅并触发类似的电子邮件

抱歉,我们仍未收到付款并已删除您的个人资料。您仍然可以通过登录并更新您的付款信息来重新激活它

基本上这是这样做的“好”方式,因此客户有一个宽限期,并且他们的帐户不会因为信用卡过期或类似的东西而意外关闭。

于 2009-10-29T02:45:57.017 回答
9

Chris 发布的帖子最近已更新。

2010 年的某个时候,当用户取消他们的帐户时,PayPal 停止使用 subscr_eot。在多次投诉后,他们恢复了这一点,但花了 6 个月的时间才这样做。这意味着您可以再次按照 Peter 在接受的答案中描述的方式处理订阅通知。

来自 PayPal 代表:

subscr_cancel 意味着个人资料被取消并且不会有未来的付款。但是,如果买家已经支付了当前计费周期的费用,因为他们是预先收费的,那么您可以使用 subscr_eot 来终止配置文件。

但是,仍然不确定如果多次失败的付款尝试会发生什么。目前的 PayPal 文档很糟糕。

于 2011-05-04T07:39:32.527 回答
3

是否发送取决于帐户是否是新帐户subscr_eot,这有点超出我的范围?

我还没有找到管理订阅的正确方法。如果付款延迟,在服务器上计算日期可能会很快出错。

于 2010-07-12T07:01:43.200 回答