Index: /main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py	(revision 13402)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py	(revision 13403)
@@ -49,8 +49,8 @@
 
 
-def school(student):
+def contr_agreement(student):
     if student.current_mode == 'found' or student.current_mode.endswith('_pt'):
-        return 'pt'
-    return 'regular'
+        return 'first'
+    return 'second'
 
 class CustomInterswitchPageApplicant(InterswitchPageApplicant):
@@ -141,5 +141,5 @@
             self.redirect(self.url(self.context, '@@index'))
             return
-        if school(student) == 'pt':
+        if contr_agreement(student) == 'first':
             self.product_id = PRODUCT_ID_PT
         else:
@@ -180,6 +180,6 @@
         # Schoolfee
         if self.context.p_category.startswith('schoolfee'):
-            if school(student) == 'pt':
-                # PT schoolfee settings
+            if contr_agreement(student) == 'first':
+                # First agreement
                 provider_amt = 1900.0
                 joint_venture_amt = 1100.0
@@ -194,5 +194,5 @@
                     self.pay_item_id = '105'
             else:
-                # REGULAR schoolfee settings
+                # Second agreement
                 provider_amt = 1500.0
                 joint_venture_amt = 1000.0
@@ -249,6 +249,6 @@
         # Clearance
         elif self.context.p_category.startswith('clearance'):
-            if school(student) == 'pt':
-                # PT clearance settings
+            if contr_agreement(student) == 'first':
+                # First agreement
                 if student.current_mode == 'found':
                     self.pay_item_id = '102'
@@ -258,9 +258,8 @@
                 xmldict['institution_bank_id'] = '117'
             else:
-                # REGULAR clearance settings
+                # Second agreement
                 self.pay_item_id = '102'
                 xmldict['institution_acct'] = '1010827641'
                 xmldict['institution_bank_id'] = '117'
-
 
             if self.context.p_category == 'clearance_incl':
@@ -294,5 +293,5 @@
 </payment_item_detail>""" % xmldict
 
-        # Union Due
+        # Union Dues
         elif self.context.p_category == 'union':
             self.pay_item_id = '103'
@@ -307,5 +306,5 @@
 </payment_item_detail>""" % xmldict
 
-        # Lapel
+        # Lapel/File
         elif self.context.p_category == 'lapel':
             self.pay_item_id = '104'
@@ -320,5 +319,5 @@
 </payment_item_detail>""" % xmldict
 
-        # Welfare
+        # Welfare Assurance
         elif self.context.p_category == 'welfare':
             self.pay_item_id = '105'
@@ -359,5 +358,5 @@
 </payment_item_detail>""" % xmldict
 
-        # Medical
+        # Medical Acceptance
         elif self.context.p_category == 'medical':
             self.pay_item_id = '108'
@@ -423,5 +422,5 @@
     @property
     def product_id(self):
-        if school(self.context.student) == 'pt':
+        if contr_agreement(self.context.student) == 'first':
             return PRODUCT_ID_PT
         return PRODUCT_ID_REGULAR
Index: /main/waeup.aaue/trunk/src/waeup/aaue/interswitch/tests.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/interswitch/tests.py	(revision 13402)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/interswitch/tests.py	(revision 13403)
@@ -139,5 +139,5 @@
             in self.browser.contents)
         self.assertTrue(
-            'item_name="School Fee plus Students\' Union and Welfare Assurance Fees" '
+            'item_name="School Fee plus" '
             'item_amt="4600000" bank_id="7" '
             'acct_num="1014847058"' in self.browser.contents)
@@ -213,5 +213,5 @@
             in self.browser.contents)
         self.assertTrue(
-            'item_name="Acceptance Fee plus Matric Gown and Lapel/File Fees" '
+            'item_name="Acceptance Fee plus" '
             'item_amt="4000000" bank_id="117" '
             'acct_num="1014066976"' in self.browser.contents)
Index: /main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 13402)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 13403)
@@ -296,6 +296,12 @@
 
     def test_student_payments(self):
+        self.certificate.study_mode = 'ug_ft'
+        self.student['studycourse'].entry_session = 2013
+        self.student['studycourse'].certificate.school_fee_1 = 50250.0
+        self.app['configuration']['2004'].union_fee = 1000.0
+        self.app['configuration']['2004'].welfare_fee = 500.0
+        self.student.nationality = u'NG'
         # Login
-        IWorkflowState(self.student).setState('returning')
+        IWorkflowState(self.student).setState('cleared')
         self.browser.open(self.login_path)
         self.browser.getControl(name="form.login").value = self.student_id
@@ -303,8 +309,19 @@
         self.browser.getControl("Login").click()
         self.browser.open(self.student_path + '/payments')
-        self.assertTrue(
-          'Add current session payment ticket' in self.browser.contents)
-        self.assertFalse(
-          'Add previous session payment ticket' in self.browser.contents)
+        self.browser.getLink("Add current session payment ticket").click()
+        self.browser.getControl(name="form.p_category").value = ['schoolfee_incl']
+        self.browser.getControl("Create ticket").click()
+        self.assertTrue('ticket created' in self.browser.contents)
+        ctrl = self.browser.getControl(name='val_id')
+        value = ctrl.options[0]
+        self.browser.getLink(value).click()
+        self.assertTrue('Amount Authorized' in self.browser.contents)
+        self.assertEqual(self.student['payments'][value].amount_auth, 51750.0)
+        self.browser.open(self.browser.url + '/payment_slip.pdf')
+        self.assertEqual(self.browser.headers['Status'], '200 Ok')
+        self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
+        path = os.path.join(samples_dir(), 'payment_slip.pdf')
+        open(path, 'wb').write(self.browser.contents)
+        print "Sample PDF payment_slip.pdf written to %s" % path
         return
 
Index: /main/waeup.aaue/trunk/src/waeup/aaue/utils/utils.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/utils/utils.py	(revision 13402)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/utils/utils.py	(revision 13403)
@@ -31,7 +31,7 @@
         'schoolfee_1': 'School Fee 1st instalment',
         'schoolfee_2': 'School Fee 2nd instalment',
-        'schoolfee_incl': 'School Fee plus Students\' Union and Welfare Assurance Fees',
+        'schoolfee_incl': 'School Fee plus',
         'clearance': 'Acceptance Fee',
-        'clearance_incl': 'Acceptance Fee plus Matric Gown and Lapel/File Fees',
+        'clearance_incl': 'Acceptance Fee plus',
         'hostel_maintenance': 'Hostel Maintenance Fee',
         'application': 'Application Fee',
@@ -50,10 +50,10 @@
 
     SELECTABLE_PAYMENT_CATEGORIES = {
-        'schoolfee': 'School Fee',
+        'schoolfee': 'School Fee without additional fees',
         #'schoolfee_1': 'School Fee 1st instalment',
         #'schoolfee_2': 'School Fee 2nd instalment',
-        'schoolfee_incl': 'School Fee plus Students\' Union and Welfare Assurance Fees',
-        'clearance': 'Acceptance Fee',
-        'clearance_incl': 'Acceptance Fee plus Matric Gown and Lapel/File Fees',
+        'schoolfee_incl': 'School Fee plus Students\' Union and Welfare Assurance fees',
+        'clearance': 'Acceptance Fee without additional fees',
+        'clearance_incl': 'Acceptance Fee plus Matric Gown and Lapel/File fees',
         'hostel_maintenance': 'Hostel Maintenance Fee',
         'application': 'Application Fee',
