'Try to validate and then process the DirectPayment form.'

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:
            payment_was_successful.send(sender=self.item)
            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 render_to_response(self.payment_template, self.context, RequestContext(self.request))
