2016-10-22 3 views
0

Я запускаю python 3.5, django 1.10.Stripe API - вызов определенных значений

Это первый раз, когда я использовал api, и я изо всех сил стараюсь понять, что делать. Да, я ноб.

Я пытаюсь показать stripe информацию о счете на странице шаблона.

Мне предоставлен код, который может отображать основную информацию, но у меня возникают трудности с отображением имени плана, к которому относится счет-фактура.

Я включил снимок экрана счета апи отображающее необходимые имеющиеся сведения о счете-фактуре, но я не уверен, как отобразить имя плана (обведено красным цветом ниже):

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

Я надеюсь, что кто-то может подтолкнуть меня в правильном направлении, чтобы отобразить название плана.

+0

'{ % для счета-фактуры в счетах%} '- откуда поступает переменная' invoices'? –

ответ

0

Не было бы просто:

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

invoices нашивки имеют атрибут lines, который является list object, содержащий список line items.

Если счет был создан для подписки, она будет содержать элемент для подписки линии (то есть элемент строки, для которого атрибут type является "subscription", и его атрибут plan будет содержать plan object для подписки.

Если вы не вручную create invoice items и не update subscriptions таким образом, что бы привести элементы пропорциональных распределения будут созданы, что эта позиция будет единственным элементом в списке, и вы можете получить доступ к плану name с:

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

Если у вас есть несколько позиций в вашем счете, вам нужно будет перебирать каждую позицию, пока не найдете позицию для подписки.

Кроме того, это не имеет прямого отношения к вашему вопросу, но для того, чтобы получить доступ к ID счета-фактуры, вы должны были бы использовать:

invoice.id 

вместо:

invoice.stripe_id 
Смежные вопросы