【问题标题】:Stripe API - calling specific valuesStripe API - 调用特定值
【发布时间】:2017-03-04 09:37:55
【问题描述】:

我正在运行 python 3.5、django 1.10。

这是我第一次使用 api,我正在努力理解该怎么做。是的,我是菜鸟。

我正在尝试在模板页面上显示 stripe 发票详细信息。

我得到了一些可以显示基本信息的代码,但我在显示发票相关的计划名称时遇到了困难。

我已包含发票 api 的屏幕截图,其中显示了发票的必要可用详细信息,但我不确定如何显示计划名称(下面以红色圈出):

这是我的模板代码:

{% for invoice in invoices %}
    <tr>
        <td>{{ invoice.date|date:'dS F, Y P' }}</td>
        <th style="display: none;">{{ invoice.stripe_id }}</td>
        <td>{{ invoice.period_start|date:'dS F, Y' }}</td>
        <td>{{ invoice.period_end|date:'dS F, Y' }}</td>
        <th style="display: none;">{{ invoice.charge }}</td>
        <td>{{ invoice.plan.name }}</td>
        <td>{{ invoice.paid|yesno:'Yes,No' }}</td>
        <td>{{ invoice.refunded|yesno:'Yes,No' }}</td>
    </tr>
{% endfor %}

这是显示的样子:

我希望有人能将我推向正确的方向,以显示计划名称。

【问题讨论】:

  • {% for invoice in invoices %} — invoices 变量来自哪里?

标签: python django stripe-payments


【解决方案1】:

不就是这样吗:

{{ invoice.lines.data.0.plan.name }}

【讨论】:

    【解决方案2】:

    条带化invoices 有一个lines 属性,这是一个包含line items 列表的list object。

    如果发票是为订阅创建的,它将包含订阅的行项目(即type 属性为"subscription" 的行项目,其plan 属性将包含plan object订阅。

    如果您不手动 create invoice items 并且不以会导致创建按比例分配项目的方式 update subscriptions,则该行项目将是列表中的唯一元素,您可以访问计划的 @ 987654330@ 与:

    invoice.lines.data[0].plan.name
    

    如果您的发票中确实有多个订单项,则需要遍历每个订单项,直到找到订阅的订单项。

    此外,这与您的问题没有直接关系,但要访问发票的 ID,您需要使用:

    invoice.id
    

    而不是:

    invoice.stripe_id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      • 2019-03-25
      • 2021-12-28
      相关资源
      最近更新 更多