def form_valid(self, form): from getpaid.models import Payment payment = Payment.create(form.cleaned_data['order'], form.cleaned_data['backend']) processor = payment.get_processor()(payment) gateway_url_tuple = processor.get_gateway_url(self.request) payment.change_status('in_progress') redirecting_to_payment_gateway_signal.send( sender=None, request=self.request, order=form.cleaned_data['order'], payment=payment, backend=form.cleaned_data['backend']) if gateway_url_tuple[1].upper() == 'GET': return HttpResponseRedirect(gateway_url_tuple[0]) elif gateway_url_tuple[1].upper() == 'POST': context = self.get_context_data() context['gateway_url'] = processor.get_gateway_url(self.request)[0] context['form'] = processor.get_form(gateway_url_tuple[2]) return TemplateResponse(request=self.request, template=self.get_template_names(), context=context) else: raise ImproperlyConfigured()
def form_valid(self, form): from getpaid.models import Payment try: order_additional_validation\ .send(sender=None, request=self.request, order=form.cleaned_data['order'], backend=form.cleaned_data['backend']) except ValidationError: return self.form_invalid(form) payment = Payment.create(form.cleaned_data['order'], form.cleaned_data['backend']) processor = payment.get_processor()(payment) gateway_url_tuple = processor.get_gateway_url(self.request) payment.change_status('in_progress') redirecting_to_payment_gateway_signal.send(sender=None, request=self.request, order=form.cleaned_data['order'], payment=payment, backend=form.cleaned_data['backend']) if gateway_url_tuple[1].upper() == 'GET': return HttpResponseRedirect(gateway_url_tuple[0]) elif gateway_url_tuple[1].upper() == 'POST': context = self.get_context_data() context['gateway_url'] = \ processor.get_gateway_url(self.request)[0] context['form'] = processor.get_form(gateway_url_tuple[2]) return TemplateResponse(request=self.request, template=self.get_template_names(), context=context) else: raise ImproperlyConfigured()
def form_valid(self, form): from getpaid.models import Payment payment = Payment.create(self.request.user.account, form.cleaned_data['order'], form.cleaned_data['backend'], amount = form.cleaned_data['summ']) processor = payment.get_processor()(payment) gateway_url_tuple = processor.get_gateway_url(self.request, payment) payment.change_status('in_progress') order = form.cleaned_data['order'] redirecting_to_payment_gateway_signal.send(sender=None, request=self.request, order=order, payment=payment, backend=form.cleaned_data['backend']) if gateway_url_tuple[1].upper() == 'GET': return HttpResponseRedirect(gateway_url_tuple[0]) elif gateway_url_tuple[1].upper() == 'POST': context = self.get_context_data() context['gateway_url'] = processor.get_gateway_url(self.request, payment)[0] context['form'] = processor.get_form(gateway_url_tuple[2]) return TemplateResponse(request = self.request, template = "getpaid/payment_post_form.html", context = context) else: raise ImproperlyConfigured()