def validate_payment_form(self):
        form = self.payment_form_cls(self.request.POST)
        if form.is_valid():
            success = form.process(self.request, self.item)
            if success:
                return HttpResponseRedirect(self.success_url)
            else:
                self.context['errors'] = self.errors['processing']

        self.context[self.form_context_name] = form
        self.context.setdefault("errors", self.errors['form'])
        return TemplateResponse(self.request, self.payment_template, self.context)
Try to validate and then process the DirectPayment form.
dataset/ETHPy150Open spookylukey/django-paypal/paypal/pro/views.py/PayPalPro.validate_payment_form