From c1994e89a56cd87e635202f99164434baa14be84 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 4 Nov 2021 17:58:24 +0100 Subject: [PATCH] Stripe: Fix MultipleObjectsReturned in webhook --- src/pretix/plugins/stripe/views.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pretix/plugins/stripe/views.py b/src/pretix/plugins/stripe/views.py index 0329b1d693..84a402064d 100644 --- a/src/pretix/plugins/stripe/views.py +++ b/src/pretix/plugins/stripe/views.py @@ -213,12 +213,12 @@ def webhook(request, *args, **kwargs): else: return HttpResponse("Not interested in this data type", status=200) - try: - rso = ReferencedStripeObject.objects.select_related('order', 'order__event').get( - reference__in=[lid for lid in lookup_ids if lid] - ) + rso = ReferencedStripeObject.objects.select_related('order', 'order__event').filter( + reference__in=[lid for lid in lookup_ids if lid] + ).first() + if rso: return func(rso.order.event, event_json, objid, rso) - except ReferencedStripeObject.DoesNotExist: + else: if event_json['data']['object']['object'] == "charge" and 'payment_intent' in event_json['data']['object']: # If we receive a charge webhook *before* the payment intent webhook, we don't know the charge ID yet # and can't match it -- but we know the payment intent ID!