2009-06-30 162 views
51

我正在使用Paypal IPN添加订阅到一个网站,它工作得很好,我可以成功创建一个新订阅并进行验证。订阅有两周免费试用。不幸的是,该指南对订阅状态有些模糊。使用PayPal IPN订阅

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

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

回答

75

subscr_eot当用户上次付款时间间隔过期时发送。 subscr_cancel在使用取消订阅后立即发送 - 例如:

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

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

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

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

+0

我不知道这一定是真的。我认为这取决于他们拥有的订阅类型,从I/S等开始 – ajbeaven 2011-05-31 23:35:11

+0

我听说subscr_ *是旧的方式。真的吗?无论如何,我试图找出这些txn_type值。 http://stackoverflow.com/questions/13855287/parsing-paypal-subscription-ran-out – Volomike 2012-12-17 21:11:06

+2

只需添加到这个 - afaik - 如果你没有做免费试用,那么'subscr_signup'只有在第一个付款也是成功的。因此,您只能听取subscr_signup和subscr_eot以激活/停用订阅。 – Webcognoscere 2013-01-16 17:13:47

34

另外,一个有趣的细节是subscr_eot如何与subscr_failed一起使用。

它看起来像subscr_eot之后最后subscr_failed。因此,如果在您的帐户设置为自动重试失败的支付3倍,那么就应该是这样的:

第一个失败的支付=> subscr_failed 第二未能支付=> subscr_failed 第三未能支付=> subscr_failed和subscr_eot

所以基本上在你的代码,你可以设置subscr_failed触发电子邮件喜欢

喜用户, 请花时间检查一下 您的付款信息,您可能需要 更新信用ç ard expiration date,etc.您仍然可以访问, 我们会在几天后再试一次。

和设置subscr_eot实际上把他们的订阅关闭并触发电子邮件喜欢

抱歉,我们仍然还没有”得到支付 并采取您的个人资料了。您 仍然可以通过登录和更新您的付款信息重新激活它

基本上这是做什么的,让客户有一个宽限期的“好”的方式,他们的帐户不被意外关闭只是因为一张过期的信用卡或类似的东西。

4

这取决于账户是否是新的,是否subscr_eot被发送,这有点超越我?

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

9

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

2010年的某个时候,PayPal在用户取消帐户时停止使用subscr_eot。经过多次投诉,他们恢复了这一点,但花了6个月的时间。所有这一切意味着您可以再次处理您的订阅通知,如Peter在接受的答案中所述。

从贝宝代表:

subscr_cancel表示配置文件是 取消,也不会有未来 付款。但是,如果买方已经为 周期支付了当前计费 ,因为它们是预付费的, 那么您可以使用subscr_eot到 终止配置文件。

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