首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条纹:遍历所有优惠券

条纹:遍历所有优惠券
EN

Stack Overflow用户
提问于 2018-08-24 21:40:50
回答 2查看 277关注 0票数 1

我在我的网站上使用条纹。我试图检查用户提供的输入是否与优惠券匹配,但我不知道如何迭代所有优惠券(似乎总是需要输入一个限制,范围从1到100):coupons

下面是我到目前为止尝试过的内容,它只返回10张优惠券,这是默认的:

代码语言:javascript
复制
coupons = stripe.Coupon.list(limit=None)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-24 21:53:53

阅读文档后,您似乎需要对结果进行分页。

基本上,您请求N优惠券的第一页,如果需要获取更多的优惠券,则从上一次请求的最后一页开始,请求下一张N优惠券。

在看医生的时候,我想出了一个方法:

代码语言:javascript
复制
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。

Note:我还没有测试过这个。

票数 2
EN

Stack Overflow用户

发布于 2018-08-24 21:58:50

我从未使用过条带,但是文档说您可以使用starting_after属性来定义您在优惠券列表中的位置。我不知道如何从它返回的列表中读取优惠券it,但是您需要这样做。

代码语言:javascript
复制
# 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 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52012051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档