Читая документацию, похоже, вам нужно разбить результаты на страницы.
По сути, вы запрашиваете для первой страницы N
купонов, и если есть еще, чтобы получить, вы запрашиваете следующие N
купоны, начиная с последнего из вашего предыдущего запроса.
Глядя на документы, я придумал такой подход:
def get_all_coupons(page_size=100):
last_coupon = None
while True:
response = stripe.Coupon.list(limit=page_size, starting_after=last_coupon)
coupons = response['data']
if coupons:
for coupon in coupons:
yield coupon
last_coupon = coupons[-1]
if not response['has_more']:
break
get_all_coupons()
возвращает генератор, который выдает все купоны, получая 100 за раз.
Примечание : я не проверял это.