订阅与贝宝IPN
我正在使用Paypal IPN添加订阅到一个网站,工作得很好,我可以成功地创build一个新的订阅并validation它。 订阅有两个星期免费试用。 该指南不幸在订阅状态上有点模糊。
此时,一旦收到subscr_signup或subscr_payment,用户帐户就会获取订阅状态,并在收到subscr_cancel或subscr_failed时被删除。 我相信这是正确的,但最好确保。
什么是subscr_eot? IPN指南将其描述为“订阅的期末”。 试用期结束后会触发吗?
 subscr_eot在用户上次付款时间间隔过期时发送。  subscr_cancel在使用取消订阅后立即发送 – 例如: 
 用户在第一天注册订阅,每个月收费一次。  subscr_signup是立即发送的, subscr_payment在支付完成后立即发送(通常也是立即发送)。 
 在第13天,用户取消。 立刻发送subscr_cancel ,虽然用户技术上已经支付到第30天。取消在这一点是取决于你。 
 在第30天, subscr_eot被发送 – 用户已经取消,这是他最后一次支付的date。 
 试用版订阅没有太多变化 – 如果用户在试用版订阅之前取消订阅, subscr_cancel立即发送, subscr_eot在试用结束时发送。 
 此外,一个有趣的细节是subscr_eot如何与subscr_failed一起subscr_failed 。 
 它看起来像subscr_eot之后是最后 subscr_failed 。 因此,如果您的帐户中设置为自动重试失败的付款3次,则应该如下所示: 
第一次付款失败=> subscr_failed第二次付款失败=> subscr_failed第三次付款失败=> subscr_failed和subscr_eot
 所以基本上在你的代码中,你可以设置subscr_failed来触发一个类似的电子邮件 
嗨用户,请花点时间检查您的付款信息,您可能需要更新信用卡到期date等,您仍然可以访问,我们将在几天内再次尝试。
 并设置subscr_eot实际上closures他们的订阅,并触发一个类似的电子邮件 
对不起,我们还没有得到付款,并已经把你的个人资料。 您仍然可以通过login并更新付款信息来重新激活它
基本上这是这样做的“好”的方式,所以客户有一个宽限期,他们的帐户不会因为信用卡过期或类似的事情而意外closures。
Chris发布的post最近更新了。
在2010年的某个时候,当用户取消帐户时,PayPal停止使用subscr_eot。 经过一些投诉,他们恢复了这个,但花了6个月的时间。 所有这一切意味着您可以再次处理您的订阅通知,如Peter在接受的答案中所述。
来自PayPal代表:
subscr_cancel表示个人资料被取消,不会有未来的付款。 但是,如果买方已经支付当前的结算周期,那么您可以使用subscr_eot来终止configuration文件。
但是,仍然不确定发生多次付款失败的情况。 PayPal文档目前非常糟糕。
 这取决于帐户,如果它是新的或不subscr_eot被发送,这是有点超越我? 
我还没有findpipe理订阅的正确方法。 如果延迟付款,计算服务器上的date可能会出错。