From d8160375a4ff8c3e3730519f152d27581fe0d68c Mon Sep 17 00:00:00 2001 From: Dmitriy Shesterkin Date: Sun, 6 Aug 2017 20:55:38 +0300 Subject: [PATCH] fix --- src/customer/models.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/customer/models.py b/src/customer/models.py index 303383a..bcb761d 100644 --- a/src/customer/models.py +++ b/src/customer/models.py @@ -801,26 +801,32 @@ class Payment(models.Model): payment = super(Payment, self).save(*args, **kwargs) return payment - def confirmed_purchase(self, **kwargs): - try: - self.status = self.SUCCESS - self.date = datetime.now().date() - self.save() - except Payment.DoesNotExist: - log.info(f"payment with id={kwargs['InvId']} not found") + +def confirmed_purchase(**kwargs): + try: + payment = Payment.objects.get( + pk=kwargs['InvId'], + order_amount=kwargs['OutSum'] + ) + payment.status = Payment.SUCCESS + payment.date = datetime.now().date() + payment.save() + + except Payment.DoesNotExist: + log.info(f"payment with id={kwargs['InvId']} not found") # Robokassa @receiver(result_received) def order_completed(sender, **kwargs): - sender.confirmed_purchase(sender, **kwargs) + confirmed_purchase(**kwargs) # Robokassa for local debugging @receiver(success_page_visited) def success_page_visited_completed(sender, **kwargs): if settings.DEBUG: - sender.confirmed_purchase(sender, **kwargs) + confirmed_purchase(**kwargs) @receiver(post_save, sender=Payment)