Stripe API - 调用特定值

时间:2016-10-22 01:23:46

标签: python django stripe-payments

我正在运行python 3.5,django 1.10。

这是我第一次使用api,我很难理解该怎么做。是的,我是菜鸟。

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

我收到了一些可以显示基本信息的代码,但是我在显示发票所涉及的计划名称时遇到了困难。

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

enter image description here

这是我的模板代码:

{% 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 %}

以下是显示内容:

enter image description here

我希望有人可以推动我朝着正确的方向前进,以显示计划名称。

2 个答案:

答案 0 :(得分:0)

不会只是:

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

答案 1 :(得分:0)

条纹invoices具有lines属性,该list object属性line items包含type列表。

如果为订阅创建了发票,它将包含订阅的订单项(即plan属性为"subscription"的订单项及其plan object属性将包含订阅的create invoice items

如果您不以某种方式手动update subscriptions而不是name,那么该订单项将成为列表中唯一的元素,您可以使用以下网址访问计划的{{3}}

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

如果您的发票中有多个订单项,则需要迭代每个订单项,直到找到订阅的订单项。

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

invoice.id

而不是:

invoice.stripe_id