我在我的网站上使用条纹。我试图检查用户提供的输入是否与优惠券匹配,但我不知道如何迭代所有优惠券(似乎总是需要输入一个限制,范围从1到100):coupons
下面是我到目前为止尝试过的内容,它只返回10张优惠券,这是默认的:
coupons = stripe.Coupon.list(limit=None)发布于 2018-08-24 21:53:53
阅读文档后,您似乎需要对结果进行分页。
基本上,您请求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']:
breakget_all_coupons()返回一个生成器,生成所有的优惠券,每次取100。
Note:我还没有测试过这个。
发布于 2018-08-24 21:58:50
我从未使用过条带,但是文档说您可以使用starting_after属性来定义您在优惠券列表中的位置。我不知道如何从它返回的列表中读取优惠券it,但是您需要这样做。
# Coupons 0 - 100
coupons_list_1 = stripe.Coupon.list(limit=100)
# Get last coupon in coupons_list_1 and get its ID
last_coupon_id = '$1OFF'
# Coupons 100 - 200
coupons_list_2 = stripe.Coupon.list(starting_after=last_coupon_id, limit=100)
# Check if user inputted coupon is in either list
userinput in coupons_list_1 + coupons_list_2 https://stackoverflow.com/questions/52012051
复制相似问题