Paypal 贝宝定期付款取消,剩余天数
我有一个基于订阅的会员资格,但是我遇到了以下问题:Paypal 贝宝定期付款取消,剩余天数,paypal,paypal-ipn,Paypal,Paypal Ipn,我有一个基于订阅的会员资格,但是我遇到了以下问题: 用户于2012年5月1日以每月无限期付款方式订阅 IPN已发送到服务器,正在激活订阅 用户已于2012年5月3日取消 IPN已发送到服务器,订阅已取消,服务器已取消成员资格 然而,由于该用户于2012年5月1日订阅,如果在一个月前取消,他还有几天的时间。有办法解决这个问题吗?PayPal是否针对此类问题发送任何IPN 我想到的一个解决方案是每晚做一个cronjob来检查这个月是否到了。当用户订阅时,paypal将创建一个定期付款模式,这意味着用
我想到的一个解决方案是每晚做一个cronjob来检查这个月是否到了。当用户订阅时,paypal将创建一个定期付款模式,这意味着用户必须在订阅当天(例如5月1日、6月1日、7月1日)按月(按年、按日)支付总额。 当用户取消时,他取消的是付款模式,而不是付款本身。因此,在此之后,贝宝将不会要求任何其他付款。如果要给用户剩余的天数,则必须存储有关订阅的信息 你可以在db中存储他订阅和取消的日期。从那里你可以知道用户还有多少天。Paypal在创建定期支付配置文件、支付本身以及取消时发送IPN消息 您可以在此处找到有关IPN消息的信息:
当我们在自己的网站上实施订阅服务时,我们基本上会处理以下事件:
- 订阅确认-我们将用户在服务器上的订阅标记为“自动续订”
- 收到的款项-我们根据约定的期限(每月或每年)移动用户的订阅到期日;使用试用期,此事件仅在试用期结束时发送
- 订阅取消-我们将用户在服务器上的订阅标记为“手动续订”
- 退款-我们根据约定的期限将用户的订阅到期日向后移动
顺便说一句,付款和订阅事件可以按不同的顺序进行(例如,付款可以先进行,然后是订阅通知);这一点很重要。IPN消息中的一个D/V对是下一个付款日期,后面是这样的日期:03:00:00 2013年7月6日PDT 我将日期转换为YYYY-MM-DD,并将其存储在数据库中,以及IPN消息中的profile_status值。当一个人订阅时,数据库中还有一个简单的TRUE/FALSE订户单元格 因此,如果订阅者取消,他们的配置文件_状态在数据库中更新为“已取消”,并且订阅者单元格更新为FALSE 当用户访问高级内容时,将检查数据库中的订户单元格是否为TRUE。如果是这样,他们就得到了内容。如果为FALSE,则检查profile_status单元格,如果该单元格“过期”或为NULL,则它们不会获取内容。如果单元格的内容被“取消”,则会提取下一个付款日期的数据,添加一天(处理时区问题),如果大于当前时间,则会加载高级内容。如果小于当前日期,则他们的个人资料\u状态单元格将更新为“过期”,并且他们不获取内容 这是一个很老的(2012年)问题,但我在2019年查找该信息时,就可以用谷歌搜索了 现在,PayPal webhook用于取消付款包括下一次付款的日期。这意味着您可以将用户状态标记为已取消,并将其帐户到期日期设置为下一个付款日期
相关信息在
.resource.billing\u info.next\u billing\u time
中,至少我可以知道投票被否决的原因吗?(只是为了从我的错误中吸取教训)