diff --git a/apps/pg/models.py b/apps/pg/models.py index b275a21..b9a1cf2 100644 --- a/apps/pg/models.py +++ b/apps/pg/models.py @@ -50,7 +50,7 @@ class ChargeRequest(models.Model): def request_sale(self): pna_client = PNAClient() description = 'from addwin ipg' - pna_callback_url = f'https://ipg.addwin.ir/page/pna_callback/{self.pk}/' + pna_callback_url = f'https://ipg.addwin.ir/page/pna_callback/{self.uuid}/' response = pna_client.request_normal_sale(self.amount, description, pna_callback_url, order_id=self.id) self.pna_status_code = response['status'] diff --git a/apps/pg/views.py b/apps/pg/views.py index 9daef3f..912eb1c 100644 --- a/apps/pg/views.py +++ b/apps/pg/views.py @@ -49,7 +49,13 @@ class ChargeRequestView(UpdateView): # try: charge_request.request_sale() - return HttpResponseRedirect(charge_request.get_pna_redirect_url()) + pna_redirect_url = charge_request.get_pna_redirect_url() + if pna_redirect_url: + return HttpResponseRedirect(pna_redirect_url) + else: + messages.error(self.request, 'can not redirect to pna') + # TODO: redirect to error page + return reverse('pg:charge-request-view', kwargs={'uuid': charge_request.uuid}) charge_request.charge_wallet_balance() # transaction = Transaction.objects.create(