【问题标题】:Ruby on rails. Monthly subscription best practices红宝石在铁轨上。每月订阅最佳实践
【发布时间】:2017-03-26 03:11:42
【问题描述】:

您好,我使用 Braintree 每月订阅我的应用程序,这工作正常。对于无论出于何种原因未能按时付款的活动,我想就最佳做法提供一些建议。

我目前有一个User 模型,带有subscribed:boolean subscribeddate:datesubscribedend:date

当用户通过braintree完成支付时,属性会更新为subscribed:truesubscribeddate:Date.todaysubscribedend:Sometime_way_in_the_future

当用户取消订阅时,属性也会更新,subscribed:falsesubscribedend:(a braintree attribute, billing_due_date)

这样我可以根据日期和订阅状态过滤我的应用程序中的内容。我能看到的唯一问题是,如果 Braintree 尝试在一个月内向帐户收费但失败了。 Braintree 对此有一个属性 (.days_past_due),但我的应用无法知道这是否发生。

这方面的最佳做法是什么?我是否应该每天执行一个计划任务来检查每个用户是否在 Braintree 服务器上具有 .days_past_due 属性的值?如果我有很多用户,这会不会非常慢? 我可能把这一切都搞错了,我只是想就此事提出一些建议, 谢谢。

【问题讨论】:

    标签: ruby-on-rails subscription braintree rake-task


    【解决方案1】:

    全面披露:我在 Braintree 工作。如果您还有任何问题,请随时联系 support@braintreepayments.com。

    最好的办法是实施 Braintree 的定期计费 webhooksWebhooks send you a notification 通过 HTTP POST 每当发生可能不是由 API 调用直接触发的事件时,例如客户通过订阅收取费用、订阅被取消或订阅过期。这将允许您直接响应订阅事件,而无需执行日常检查以查看是否发生了任何更改。

    要使用 webhook,您需要选择要接收 webhook 的事件,在您的服务器上指定一个端点,我们将在其中发送通知,并使用代码设置该端点以将 webhook 通知解析为可用的形式.有关详细信息,请参阅此guide 的说明。

    【讨论】:

    • 在发布后发现了 webhook。我现在已经实现了它们。谢谢。
    猜你喜欢
    • 2011-07-13
    • 2012-11-15
    • 2016-01-07
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    相关资源
    最近更新 更多