Django платежи Liqpay

Подскажите, пожалуйста, по LiqPay?

Вроде все сделал по инструкции, оплатил товар в тестовом режиме, оплата прошла успешно, но через какое то время мне приходит уведомление на мыло, что я опять успешно оплатил товар.

И как редиректнуть после успешного платежа на главную страницу?

class PayView(TemplateView):
   template_name = 'pay.html'
   def get(self, request, *args, **kwargs):
       if request.user.is_authenticated:
           customer = Customer.objects.get(user=request.user)
       else:
           session_key = request.session.session_key
           name = str(session_key)
           user = User.objects.filter(username=name).first()
           customer = Customer.objects.filter(user=user).first()
       orders = Order.objects.filter(customer=customer).order_by('-id')[:1].first()
       liqpay = LiqPay(settings.LIQPAY_PUBLIC_KEY, settings.LIQPAY_PRIVATE_KEY)
       params = {
           'action': 'pay',
           'amount': int(orders.cart.final_price) ,
           'currency': 'UAH',
           'description': 'Payment for clothes',
           'version': '3',
           'order_id': orders.id ,
           'sandbox': 0,  # sandbox mode, set to 1 to enable it
           'server_url': 'https://mysite123456.herokuapp.com/pay-callback/',  # url to callback view
           'result_url': 'https://mysite123456.herokuapp.com/',
           'Result URL': 'https://mysite123456.herokuapp.com/',
       }
       signature = liqpay.cnb_signature(params)
       data = liqpay.cnb_data(params)
       return render(request, self.template_name, {'signature': signature, 'data': data})


@method_decorator(csrf_exempt, name='dispatch')
class PayCallbackView(View):
   def post(self, request, *args, **kwargs):
       liqpay = LiqPay(settings.LIQPAY_PUBLIC_KEY, settings.LIQPAY_PRIVATE_KEY)
       data = request.POST.get('data')
       signature = request.POST.get('signature')
       sign = liqpay.str_to_sign(settings.LIQPAY_PRIVATE_KEY + data + settings.LIQPAY_PRIVATE_KEY)
       # if sign == signature:
       response = liqpay.decode_data_from_str(data)
       try:
           phone = response['sender_phone']
       except:
           phone = '0'
       if phone != '0' and signature == sign:
           orders = Order.objects.get(id=response['order_id'])
           if response['status'] == 'success':
               orders.status_pay = 'pay'
               orders.save()
               x = 'сумма платежа' + str(response['amount']) + '... response order id===' + response['order_id'] + '--status----' + response['status'] + '--phone'+phone + 'Остальное -------' + str(response)
               send_mail('Платеж удачен!',x, "Yasoob",['[email protected]'], fail_silently=False)
           if response['status'] == 'failed':
               orders.status_pay = 'not_pay'
               orders.save()
               send_mail('Платеж отклонен!', "Yasoob",['[email protected]'], fail_silently=False)
           if response['status'] == 'reversed':
               orders.status_pay = 'reversed'
               orders.save()
               send_mail('Платеж возвращнo', "Yasoob",['[email protected]'], fail_silently=False)
           if response['status'] == 'error':
               orders.status_pay = 'miss'
               orders.save()
               send_mail('Платеж ошибка!', "Yasoob",['[email protected]'], fail_silently=False)
       else:
           pass

       result_url = 'https://mysite123456.herokuapp.com/'
       success_url = 'https://mysite123456.herokuapp.com/'
       return HttpResponse()

Ответы (0 шт):