Index: /main/waeup.aaue/trunk/src/waeup/aaue/etranzact/browser.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/etranzact/browser.py	(revision 10977)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/etranzact/browser.py	(revision 10978)
@@ -40,4 +40,22 @@
 from waeup.aaue.applicants.interfaces import ICustomApplicantOnlinePayment
 
+ERROR_PART1 = (
+        'PayeeName=N/A~'
+        + 'Faculty=N/A~'
+        + 'Department=N/A~'
+        + 'Level=N/A~'
+        + 'ProgrammeType=N/A~'
+        + 'StudyType=N/A~'
+        + 'Session=N/A~'
+        + 'PayeeID=N/A~'
+        + 'Amount=N/A~'
+        + 'FeeStatus=')
+ERROR_PART2 = (
+        '~Semester=N/A~'
+        + 'PaymentType=N/A~'
+        + 'MatricNumber=N/A~'
+        + 'Email=N/A~'
+        + 'PhoneNumber=N/A')
+
 class CustomPaymentDataWebservice(PaymentDataWebservice):
     """A simple webservice to publish payment and payer details on request from
@@ -55,5 +73,5 @@
     def update(self, PAYEE_ID=None, PAYMENT_TYPE=None):
         if PAYEE_ID == None:
-            self.output = 'Missing PAYEE_ID' # '-1'
+            self.output = ERROR_PART1 + 'Missing PAYEE_ID' + ERROR_PART2
             return
         real_ip = self.request.get('HTTP_X_FORWARDED_FOR', None)
@@ -64,8 +82,8 @@
         if real_ip  and self.ACCEPTED_IP:
             if real_ip not in  self.ACCEPTED_IP:
-                self.output = 'Wrong IP address' # '-2'
+                self.output = ERROR_PART1 + 'Wrong IP address' + ERROR_PART2
                 return
         if PAYMENT_TYPE not in ('SCHOOL-FEE', 'ACCEPTANCE-FEE', 'APPLICATION-FEE'):
-            self.output = 'Invalid PAYMENT_TYPE' # '-3'
+            self.output = ERROR_PART1 + 'Invalid PAYMENT_TYPE' + ERROR_PART2
             return
 
@@ -85,17 +103,17 @@
         results = list(cat.searchResults(p_id=(PAYEE_ID, PAYEE_ID)))
         if len(results) != 1:
-            self.output = 'Invalid PAYEE_ID' # '-1'
+            self.output = ERROR_PART1 + 'Invalid PAYEE_ID' + ERROR_PART2
             return
         if PAYMENT_TYPE == 'SCHOOL-FEE' \
             and not results[0].p_category.startswith('schoolfee'):
-            self.output = 'Wrong PAYMENT_TYPE' # '-5'
+            self.output = ERROR_PART1 + 'Wrong PAYMENT_TYPE' + ERROR_PART2
             return
         if PAYMENT_TYPE == 'ACCEPTANCE-FEE' \
             and not results[0].p_category == 'clearance':
-            self.output = 'Wrong PAYMENT_TYPE' # '-6'
+            self.output = ERROR_PART1 + 'Wrong PAYMENT_TYPE' + ERROR_PART2
             return
         if PAYMENT_TYPE == 'APPLICATION-FEE' \
             and not results[0].p_category == 'application':
-            self.output = 'Wrong PAYMENT_TYPE' # '-7'
+            self.output = ERROR_PART1 + 'Wrong PAYMENT_TYPE' + ERROR_PART2
             return
         try:
@@ -110,5 +128,5 @@
             level = owner.current_level
         except (TypeError, AttributeError):
-            self.output = 'Unknown error, please contact Kofa administrator' # '-8'
+            self.output = ERROR_PART1 +  'Unknown error' + ERROR_PART2
             return
         amount = results[0].amount_auth
Index: /main/waeup.aaue/trunk/src/waeup/aaue/etranzact/tests.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/etranzact/tests.py	(revision 10977)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/etranzact/tests.py	(revision 10978)
@@ -21,4 +21,5 @@
 from waeup.kofa.configuration import SessionConfiguration
 from waeup.aaue.testing import FunctionalLayer
+from waeup.aaue.etranzact.browser import ERROR_PART1, ERROR_PART2
 
 
@@ -108,26 +109,26 @@
 
         self.browser.open('http://localhost/app/feerequest')
-        self.assertEqual(self.browser.contents, 'Missing PAYEE_ID')
+        self.assertEqual(self.browser.contents, ERROR_PART1 + 'Missing PAYEE_ID' + ERROR_PART2)
         self.browser.open('http://localhost/app/feerequest?NONSENSE=nonsense')
-        self.assertEqual(self.browser.contents, 'Missing PAYEE_ID')
+        self.assertEqual(self.browser.contents, ERROR_PART1 + 'Missing PAYEE_ID' + ERROR_PART2)
         self.browser.open(
             'http://localhost/app/feerequest?PAYEE_ID=nonsense&PAYMENT_TYPE=SCHOOL-FEE')
-        self.assertEqual(self.browser.contents, 'Invalid PAYEE_ID')
+        self.assertEqual(self.browser.contents, ERROR_PART1 + 'Invalid PAYEE_ID' + ERROR_PART2)
         self.browser.open(
             'http://localhost/app/feerequest?PAYEE_ID=%s&PAYMENT_TYPE=NONSENSE'
             % self.p_id)
-        self.assertEqual(self.browser.contents, 'Invalid PAYMENT_TYPE')
+        self.assertEqual(self.browser.contents, ERROR_PART1 + 'Invalid PAYMENT_TYPE' + ERROR_PART2)
         self.browser.open(
             'http://localhost/app/feerequest?PAYEE_ID=%s'
             % self.p_id)
-        self.assertEqual(self.browser.contents, 'Invalid PAYMENT_TYPE')
+        self.assertEqual(self.browser.contents, ERROR_PART1 + 'Invalid PAYMENT_TYPE' + ERROR_PART2)
         self.browser.open(
             'http://localhost/app/feerequest?PAYEE_ID=%s&PAYMENT_TYPE=ACCEPTANCE-FEE'
             % self.p_id)
-        self.assertEqual(self.browser.contents, 'Wrong PAYMENT_TYPE')
+        self.assertEqual(self.browser.contents, ERROR_PART1 + 'Wrong PAYMENT_TYPE' + ERROR_PART2)
         self.browser.open(
             'http://localhost/app/feerequest?PAYEE_ID=%s&PAYMENT_TYPE=APPLICATION-FEE'
             % self.p_id)
-        self.assertEqual(self.browser.contents, 'Wrong PAYMENT_TYPE')
+        self.assertEqual(self.browser.contents, ERROR_PART1 + 'Wrong PAYMENT_TYPE' + ERROR_PART2)
 
 
