PayPal 定期付款已取消,剩余天数

标签 paypal paypal-ipn

我有一个基于订阅的成员(member),但是我遇到了以下问题:

  1. 用户于 2012 年 5 月 1 日订阅,每月无限期付款。
  2. IPN发送到服务器,激活订阅
  3. 用户于 2012 年 5 月 3 日注销。
  4. IPN发送到服务器,订阅被取消,服务器取消成员(member)资格。

然而,由于用户是在 2012 年 5 月 1 日订阅的,如果他要在一个月前取消,他还有几天的时间。有什么办法可以解决这个问题? PayPal 是否会针对此类问题发送任何 IPN?

我想到的一个解决方案是每晚做一个 cronjob 来检查这个月是否到了。

最佳答案

当我们在自己的网站上实现订阅服务时,我们基本上是这样处理事件的:

  • 订阅确认 - 我们在我们的服务器上将用户的订阅标记为“自动续订”
  • 收到的钱 - 我们根据约定的期限(每月或每年)调整用户的订阅到期日;使用试用期,此事件仅在试用期结束时发送
  • 订阅取消 - 我们将用户在我们服务器上的订阅标记为“手动续订”
  • 退款 - 我们根据商定的期限将用户的订阅到期日期后移。

用户登录后,我们会检查订阅是否已过期(如果您将其存储在数据库中,这很容易)。

基本上,订阅事件与支付事件是分开的。订阅可以取消,但这并不意味着付款会被退还;那将是一个单独的事件。

顺便说一下,支付和订阅事件可以按不同的顺序进行(例如,可以先支付,然后是订阅通知);满足这一点很重要。

关于PayPal 定期付款已取消,剩余天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656828/

相关文章:

php - Symfony 插件开发

reactjs - 没有账单地址的 Paypal 智能按钮?

node.js - Paypal REST API : Which credentials to use to approve payments in sandbox mode?

php - 使用 PayPal IPN 时的客户信息

paypal - 通知 url 和返回 url 之间的 PayPal IPN 差​​异

php - 为什么 tlstest.paypal.com 可以在浏览器中运行,但不能在我的 PHP 代码中运行(对 Paypal IPN 有用)?

paypal - 如果没有消息发送回 PayPal,PayPal IPN 会发生什么情况

paypal - 如何向 Plone 4 站点添加一个简单的 Paypal 捐赠按钮?

paypal - 我如何在 Paypal 沙箱中获取身份 token ?

.net - 您无权隐式执行此付款 550001