diff --git a/bt5/erp5_payzen_secure_payment/DocumentTemplateItem/portal_components/document.erp5.PayzenService.py b/bt5/erp5_payzen_secure_payment/DocumentTemplateItem/portal_components/document.erp5.PayzenService.py
index 36c44f645a56edf52ae39d9e81ec0668870a8b6e..4e314472901e816bd67f4c1211a42a523edb85a1 100644
--- a/bt5/erp5_payzen_secure_payment/DocumentTemplateItem/portal_components/document.erp5.PayzenService.py
+++ b/bt5/erp5_payzen_secure_payment/DocumentTemplateItem/portal_components/document.erp5.PayzenService.py
@@ -6,6 +6,7 @@ from Products.ERP5Type.Document import newTempDocument
 import hashlib
 from zLOG import LOG, WARNING
 import datetime
+from Products.DCWorkflow.DCWorkflow import ValidationFailed
 
 try:
   import suds
@@ -292,7 +293,17 @@ class PayzenService(XMLObject, PayzenSOAP):
 
   def navigate(self, page_template, payzen_dict, REQUEST=None, **kw):
     """Returns configured template used to do the payment"""
-    self.Base_checkConsistency()
+    check_result = self.checkConsistency()
+    message_list = []
+    for err in check_result:
+      if getattr(err, 'getTranslatedMessage', None) is not None:
+        message_list.append(err.getTranslatedMessage())
+      else:
+        # backward compatibility:
+        message_list.append(err[3])
+    if message_list:
+      raise ValidationFailed, message_list
+
     temp_document = newTempDocument(self, 'id')
     temp_document.edit(
       link_url_string=self.getLinkUrlString(),