Пример #1
0
    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()
Пример #2
0
    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()
Пример #3
0
    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()