check_pending_webhooks.py 文件源码

python
阅读 43 收藏 0 点赞 0 评论 0

项目:aa-stripe 作者: ArabellaTech 项目源码 文件源码
def handle(self, *args, **options):
        stripe.api_key = stripe_settings.API_KEY

        site_id = options.get("site")
        site = Site.objects.get(pk=site_id) if site_id else Site.objects.all()[0]
        pending_webhooks = []
        last_event = StripeWebhook.objects.first()
        last_event_id = last_event.id if last_event else None
        try:
            if last_event:
                stripe.Event.retrieve(last_event_id)
        except stripe.error.InvalidRequestError:
            last_event_id = None

        while True:
            event_list = stripe.Event.list(ending_before=last_event_id, limit=100)  # 100 is the maximum
            pending_webhooks += event_list["data"]

            if len(pending_webhooks) > stripe_settings.PENDING_WEBHOOKS_THRESHOLD:
                raise StripePendingWebooksLimitExceeded(pending_webhooks, site)

            if not event_list["has_more"]:
                break
            else:
                last_event_id = event_list["data"][-1]["id"]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号