From 79318a2c46c16df09bef9e9d8e6a1f5b3ce9d1ca Mon Sep 17 00:00:00 2001 From: Jacek Date: Fri, 9 Jun 2017 11:07:54 +0200 Subject: [PATCH] unique webhooks --- aa_stripe/api.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/aa_stripe/api.py b/aa_stripe/api.py index 22e7527..897c511 100644 --- a/aa_stripe/api.py +++ b/aa_stripe/api.py @@ -39,11 +39,12 @@ def post(self, request, *args, **kwargs): "raw_data": json.loads(str(event)), "id": event["id"], } - webhook, created = StripeWebhook.objects.get_or_create(id=event["id"]) - webhook.raw_data = data["raw_data"] - if created: - # save only if first time - webhook.save() + try: + StripeWebhook.objects.get(pk=event["id"]) + return Response(status=400, data={"message": "already received"}) + except StripeWebhook.DoesNotExist: + # correct, first time. Create webhook + webhook = StripeWebhook.objects.create(id=event["id"], raw_data=data["raw_data"]) serializer = self.serializer_class(webhook)