【发布时间】:2015-10-02 10:43:05
【问题描述】:
我正在使用 PayPal 收取订阅费用以访问网站服务。
我正在使用 PayPal 的 IPN 来管理付款和用户帐户。
当订阅首次实例化时,我将向 PayPal 发送一个自定义随机密钥,该密钥对每个用户都是唯一的,因此每个 IPN 都会发回相同的密钥。这意味着我可以非常积极地将我的用户表与我的 PayPal 通知绑定在一起。
因此,我现在可以从我的数据库中生成 user_ids 和通知详细信息的列表。
所以现在我需要找出用于计算每个用户当前付款状态的最佳逻辑,以及如何处理他们的帐户 - 是否继续允许访问、暂停甚至删除他们的用户帐户。这个决定将归结为他们的付款是否仍然通过。
PayPal 的 IPN 上提供了一系列有趣的不同数据 - 大多数看起来与用户帐户管理无关,但有几列看起来非常有用。具体...
字段
outstanding_balance似乎正好包含那个 - 一个价值 2dp 的钱仍然欠。到目前为止,在我的测试中,这个数字只有 0.00字段
txn_type向我显示了从不同代码中选择的任何代码:subscr_signup(当用户最初设置订阅时)、subscr_payment(当付款似乎成功时)、subscr_cancel(这似乎是否出现客户或供应商取消订阅)和 subscr_eot(期末 - 在取消订阅后不久出现此消息)。
我的冲动是在表格中搜索每个用户帐户的最新txn_type="subscr_payment" 条目,并检查最后一个通知到达的日期。如果日期戳过,例如 28 天前,则可以暂停帐户……如果超过 56 天,则可以删除帐户。
这是个好主意吗?还是我可以采用更好的逻辑?
【问题讨论】:
标签: paypal paypal-ipn