首页 文章

PayPal订阅IPN下一个结算日期

提问于
浏览
5

我的网络应用程序使用PayPal每月订阅 . 我在付款时收到IPN通知,用户注册/取消等等,这一切似乎都运行良好 .

IPN消息中似乎缺少的一件事是关于下一个计费日期的任何形式的指示 . https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/#id091EB0901HT

起初我认为,因为它是按月订阅,我可以简单地在上一个日期添加一个月,但PayPal似乎有一种时髦的方式来确定下一个付款日期 - 它不总是30或31天或一个月 .

下一个开票日期可从PayPal内部获得,但似乎不会在任何IPN消息中发送 .

有没有人知道从IPN消息中可用的信息中解决这个问题的简单方法?

2 回答

  • 3

    我最近也遇到过这个问题 . 我不确定是否可以获得关于订阅“月份”意味着什么的一致方案 . 例如,如果您在3月31日注册了您的服务,那么下一次付款是在4月30日还是5月1日?您只需选择一个并清楚地与您的用户沟通 . 其不幸的PayPal无法为我们提供这种礼貌 .

    最后,我决定分别为用户提供32天或367天的服务访问权限,分别为月度和年度订阅 . 我知道你可能会在这里或那里一两天“失败”,但我认为最好允许一些恩惠访问而不是冒险给用户更少的时间而不是付费 .

    如果一切顺利,如果您还要监听 subscr_eotsubscr_payment IPN(参见https://stackoverflow.com/a/1195246/1852838),则激活帐户的时间实际上并不重要 . 我从下次付款之日起续订上述期间,以便订阅始终与PayPal付款周期同步 . 当最后一个付款期结束时,PayPal会向您发送 eot IPN,以便您可以在服务器端终止订阅 . 这意味着你决定给他们多少钱并不重要 .

    在提供"paid until"方面,我只提供"grace"日期,因为您实际上决定了这个日期 . 但是,我建议您也让他们知道他们应该按照下一次付款的下一个最保守估计付款 . 这将是最后一次付款后30天或月末,如果它落在它之后 .

  • 2

    这可能对你有帮助 . 准确指定天数,不要使用paypal的 MONTHLY 类型 . 而是像这样指定 DAY

    以下将每30天向客户收取一次费用:

    ->setfrequency_interval('30')
        ->setfrequency('DAY')
    

相关问题