【问题标题】:Subscription discount history订阅折扣历史
【发布时间】:2016-11-13 16:33:22
【问题描述】:

我正在制作一个基于 Braintree 订阅的账单历史记录页面来向客户展示。虽然 Braintree api 通常包含我需要的所有信息,但我在 折扣 方面遇到了问题。

在 Braintree 控制面板中,订阅将在交易部分下方显示“历史记录”部分,用于跟踪订阅价格/余额的变化。这部分的数据可以在Subscription result objectstatus_history下找到(供参考,我用的是python api)。

我似乎找不到的一条数据是折扣历史。在历史记录部分,附加组件/折扣列将显示特定历史事件的折扣数量和总折扣金额。

在订阅结果对象中,status_history 列表没有折扣信息,discounts 列表似乎只包含尚未应用的折扣(使其无法用于历史用途)。

所以,我想我的问题是:有没有办法通过 Braintree python api 检索折扣列表,其中包含创建/应用日期和折扣金额等历史信息? p>

编辑:我也检查了 Braintree 节点库。我使用了与 python 库相同的订阅。当最近没有折扣时,订阅结果对象也有一个空的discounts 列表。

编辑 2: 这是我访问订阅的方法:

在braintree控制面板中,在特定订阅的页面上,有一个订阅id条目:

在同一页面的“历史记录”部分底部,我可以看到订阅有折扣:

所以我在 python 中获取订阅:

In [1]: import braintree
In [2]: sub = braintree.Subscription.find('fkr6sr')
In [3]: sub.id
Out[3]: u'fkr6sr'
In [4]: sub.discounts
Out[4]: []

我希望sub.discounts 有一个条目。

最终编辑:为了将来参考,空 sub.discounts 是预期行为。见this comment。我已将父帖子标记为答案。

【问题讨论】:

    标签: python braintree


    【解决方案1】:

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

    订阅结果对象具有属性add_onsdiscounts,它们是这些对象的数组。您可以根据Discount.current_billing_cycle 属性结合Subscription.next_billing_date 属性以及从Discount.amountDiscount.quantity 中提取的总修改量来推断应用修改的日期。

    一个示例实现可能如下所示:

    subscription_result_object = (Subscription.search(...)).first
    discount = subscription_result_object.discounts[0]
    billing_period = subscription_result_object.billing_period_end_date - subscription_result_object.billing_period_start_date
    discount_start_date = subscription_result_object.next_billing_date - (discount.current_billing_cycle * billing_period)
    total_discount = discount.amount * discount.quantity
    

    【讨论】:

    • 旧的折扣怎么样?从 2015 年 5 月开始,我在控制面板中看到订阅折扣,但 subscription_result_object.discounts[]
    • 只要折扣仍然与订阅相关联,它就应该显示出来;过期的折扣不会自动删除。如果您确定已找到正确的订阅(Subscription.search() 返回您必须迭代的它们的集合),请尝试匹配从 Discount.all() 调用返回的 id
    • 通过braintree.Subscription.search(...) 查找订阅会得到与braintree.Subscription.find(<subscription_id_copied_from_control_panel>) 不同的结果吗?两种方法我都试过了,discounts 列表还是空的。
    • 我错了,过期的折扣实际上与他们的订阅无关。因此无法从 API 调用中检索完整的历史记录;一种解决方案是在创建或更新订阅时自行存储一些历史数据。
    • 啊,好的。这就是我害怕的,因为我使用的所有订阅都至少有一年的历史。感谢您的回复!
    猜你喜欢
    • 2014-03-04
    • 2021-12-11
    • 2020-07-11
    • 2019-03-17
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    相关资源
    最近更新 更多