您好,我使用Braintree在我的应用程序上每月订阅,该程序正常运行。我希望就某些事件的最佳做法提供一些建议,因为任何原因不按时支付款项。红宝石在轨道上。月度订阅最佳做法
我目前有一个User
模型与subscribed:boolean
subscribeddate:date
和subscribedend:date
。
当用户通过braintree完成支付时,属性将更新为subscribed:true
subscribeddate:Date.today
和subscribedend:Sometime_way_in_the_future
。
当用户取消订阅,属性也得到更新,subscribed:false
和subscribedend:(a braintree attribute, billing_due_date)
这样我可以根据日期和订阅状态筛选我的应用程序的东西。我可以看到的唯一问题是Braintree试图在一个月内收取账户但失败。 Braintree有一个属性(.days_past_due
),但我的应用程序无法知道这是否已经发生。
这是什么最佳实践?我应该每天执行计划任务来检查每个用户是否具有Braintree服务器上.days_past_due
属性的值?如果我有很多用户,这会不会非常慢? 我可能会谈论这一切都是错误的,我只是想就此问题提出一些建议, 谢谢。
发布后发现有关webhooks。我现在已经实施了它们。谢谢。 –