我正在使用运行良好的 Paypal IPN 向网站添加订阅,我可以成功创建新订阅并对其进行验证。该订阅有两周的免费试用期。不幸的是,该指南对订阅状态有点含糊。
目前,一旦收到 subscr_signup 或 subscr_payment,用户帐户就会获得订阅状态,并在收到 subscr_cancel 或 subscr_failed 时被删除。我相信这是正确的,但最好确定一下。
还有什么是 subscr_eot?IPN 指南将其描述为“订阅期结束”。试用期结束后会触发吗?
我正在使用运行良好的 Paypal IPN 向网站添加订阅,我可以成功创建新订阅并对其进行验证。该订阅有两周的免费试用期。不幸的是,该指南对订阅状态有点含糊。
目前,一旦收到 subscr_signup 或 subscr_payment,用户帐户就会获得订阅状态,并在收到 subscr_cancel 或 subscr_failed 时被删除。我相信这是正确的,但最好确定一下。
还有什么是 subscr_eot?IPN 指南将其描述为“订阅期结束”。试用期结束后会触发吗?
subscr_eot
当用户的最后一次付费间隔到期时发送。 subscr_cancel
用户取消订阅后立即发送 - 例如:
用户在第 1 天注册订阅,每月计费一次。
subscr_signup
立即subscr_payment
发送,在付款完成后立即发送(通常也是立即发送)。
第 13 天,用户取消。 subscr_cancel
立即发送,尽管用户在技术上已支付到第 30 天。此时取消取决于您。
在第 30 天,subscr_eot
发送 - 用户已取消,这是他最后一次付款的日期。
试用订阅没有太大变化 - 如果用户在试用订阅结束之前取消,subscr_cancel
立即发送,并subscr_eot
在试用结束时发送。
此外,一个有趣的细节是如何subscr_eot
与subscr_failed
.
看起来像是subscr_eot
在FINAL subscr_failed
之后。因此,如果在您的帐户中将其设置为自动重试失败的付款 3 次,那么它应该是这样的:
第一次付款失败 => subscr_failed 第二次付款失败 => subscr_failed 第三次付款失败 => subscr_failed 和 subscr_eot
所以基本上在你的代码中你可以设置subscr_failed
触发一封电子邮件
嗨用户,请花点时间检查您的付款信息,您可能需要更新信用卡到期日期等。您仍然可以访问,我们将在几天后重试。
并设置subscr_eot
为实际关闭他们的订阅并触发类似的电子邮件
抱歉,我们仍未收到付款并已删除您的个人资料。您仍然可以通过登录并更新您的付款信息来重新激活它
基本上这是这样做的“好”方式,因此客户有一个宽限期,并且他们的帐户不会因为信用卡过期或类似的东西而意外关闭。
Chris 发布的帖子最近已更新。
2010 年的某个时候,当用户取消他们的帐户时,PayPal 停止使用 subscr_eot。在多次投诉后,他们恢复了这一点,但花了 6 个月的时间才这样做。这意味着您可以再次按照 Peter 在接受的答案中描述的方式处理订阅通知。
来自 PayPal 代表:
subscr_cancel 意味着个人资料被取消并且不会有未来的付款。但是,如果买家已经支付了当前计费周期的费用,因为他们是预先收费的,那么您可以使用 subscr_eot 来终止配置文件。
但是,仍然不确定如果多次失败的付款尝试会发生什么。目前的 PayPal 文档很糟糕。
是否发送取决于帐户是否是新帐户subscr_eot
,这有点超出我的范围?
我还没有找到管理订阅的正确方法。如果付款延迟,在服务器上计算日期可能会很快出错。