Stripe API - фильтрация спорных запросов - PullRequest
0 голосов
/ 07 февраля 2019

Я в процессе запроса всех споров от Python Stripe API .Мой текущий код для получения всех споров приведен ниже.

import stripe

stripe.api_key = "12345"

disputes = stripe.Dispute.list(limit=100)

Однако я хочу только запрашивать споры, содержащие status из needs_response.Есть ли конкретный способ запроса этих споров в Stripe API?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019
import stripe
stripe.api_key = get_stripe()
from datetime import datetime, timedelta
import delorean
dt = datetime.utcnow()
lte = delorean.Delorean(dt, timezone="UTC").epoch
a =  datetime.now() + timedelta(days=-2)
gte = delorean.Delorean(a, timezone="UTC").epoch
chuck = stripe.Dispute.list(created={'gte':int(gte),'lte':int(lte)})
print "NUMBER OF DISPUTES:", len(chuck)

ch_lst = []
id_lst = []
name_lst = []
am_lst = []
f_lst = []


for d in chuck.auto_paging_iter():
    for d in chuck.auto_paging_iter():
        if (d['status'] == 'needs_response' or d['status'] == 'warning_needs_response'):
        c = stripe.Charge.retrieve(str(d['charge']))
        ch_lst.append(str(d['charge']))
        id_lst.append(str(d['id']))
        am_lst.append(str(c['amount']))
        name_lst.append(str(c['source']['name']))
        f_lst.append(str(c['source']['fingerprint']))
0 голосов
/ 07 февраля 2019

Лучше всего делать фильтрацию локально после получения полного списка disputes из API.Используя auto-pagination , это может быть просто:

disputes = stripe.Dispute.list(limit=3)

for dispute in disputes.auto_paging_iter():
    if (dispute.status == 'needs_response'):
        # Do something with the dispute

В качестве обобщения, если его нет в списке аргументов для этого ресурса , тогда вы 'Я хочу просто выполнить дальнейшую фильтрацию локально.

...