Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/applicants/tests/test_browser.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/applicants/tests/test_browser.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/applicants/tests/test_browser.py	(revision 16233)
@@ -109,5 +109,5 @@
         self.assertEqual(self.applicant.course2, None)
         IWorkflowState(self.applicant).setState('submitted')
-        self.browser.open(self.manage_path)
+        self.browser.open(self.view_path)
         self.browser.getLink("Download application slip").click()
         self.assertEqual(self.browser.headers['Status'], '200 Ok')
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/etranzact/browser.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/etranzact/browser.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/etranzact/browser.py	(revision 16233)
@@ -160,6 +160,6 @@
         # and add the gateway amount.
         provider_amt = 0.0
-        if self.context.p_category == 'registration' or \
-            self.context.p_category == 'required_combi':
+        if self.context.p_category in (
+            'registration', 'required_combi', 'pg_other'):
             provider_amt = 5000.0
         if not self.context.r_company:
@@ -223,6 +223,6 @@
         # and add the gateway amount.
         provider_amt = 0.0
-        if self.context.p_category == 'registration'or \
-            self.context.p_category == 'required_combi':
+        if self.context.p_category in (
+            'registration', 'required_combi', 'pg_other'):
             provider_amt = 5000.0
         if not self.context.r_company:
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/interfaces.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/interfaces.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/interfaces.py	(revision 16233)
@@ -224,4 +224,9 @@
     id_card_fee = schema.Float(
         title = _(u'Student ID Card Fee'),
+        default = 0.0,
+        required = True,
+        )
+    pg_other_fee = schema.Float(
+        title = _(u'PG Other Charges'),
         default = 0.0,
         required = True,
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/interswitch/browser.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/interswitch/browser.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/interswitch/browser.py	(revision 16233)
@@ -117,6 +117,6 @@
             xmldict['institution_bank_id'] = '117'
             self.pay_item_id = '102'
-        if self.context.p_category == 'registration' or \
-            self.context.p_category == 'required_combi':
+        if self.context.p_category in (
+            'registration', 'required_combi', 'pg_other'):
             provider_amt = 5000.0
         if self.context.p_category in (
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/browser.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/browser.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/browser.py	(revision 16233)
@@ -314,2 +314,21 @@
             mergefiles=mergefiles,
             watermark=watermark)
+
+class CustomOnlinePaymentDisplayFormPage(NigeriaOnlinePaymentDisplayFormPage):
+    """ Page to view an online payment ticket. We do not omit provider_amt.
+    """
+    form_fields = grok.AutoFields(ICustomStudentOnlinePayment).omit(
+        'gateway_amt', 'thirdparty_amt', 'p_item','p_combi')
+    form_fields[
+        'creation_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
+    form_fields[
+        'payment_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
+
+class CustomExportPDFPaymentSlip(NigeriaExportPDFPaymentSlip):
+    """Deliver a PDF slip of the context. We do not omit provider_amt.
+    """
+    form_fields = grok.AutoFields(ICustomStudentOnlinePayment).omit(
+        'gateway_amt', 'thirdparty_amt', 'p_item',
+        'p_split_data','p_combi')
+    form_fields['creation_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
+    form_fields['payment_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/interfaces.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/interfaces.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/interfaces.py	(revision 16233)
@@ -104,4 +104,6 @@
 ICustomStudentOnlinePayment['p_level'].order = ICustomStudentOnlinePayment[
     'p_session'].order
+ICustomStudentOnlinePayment['provider_amt'].order = ICustomStudentOnlinePayment[
+    'net_amt'].order
 
 class ICustomCourseTicket(INigeriaCourseTicket):
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/utils.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/utils.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/utils.py	(revision 16233)
@@ -61,4 +61,8 @@
         }
 
+    REQUIRED_PAYMENTS_PG = {
+        'pg_other': 'PG Other Charges',
+        }
+
     def warnCreditsOOR(self, studylevel, course=None):
         """Return message if credits are out of range. In the base
@@ -72,5 +76,7 @@
 
     def _requiredPaymentsMissing(self, student, session):
-        if student.is_fresh:
+        if student.is_postgrad:
+            rp = self.REQUIRED_PAYMENTS_PG
+        elif student.is_fresh:
             rp = self.REQUIRED_PAYMENTS_FRESH
         else:
@@ -213,8 +219,10 @@
             p_item = p_item.strip(' + ')
         elif category == 'required_combi':
-            if student.is_fresh:
-                rp = deepcopy(self.REQUIRED_PAYMENTS_FRESH)
+            if student.is_postgrad:
+                rp = self.REQUIRED_PAYMENTS_PG
+            elif student.is_fresh:
+                rp = self.REQUIRED_PAYMENTS_FRESH
             else:
-                rp = deepcopy(self.REQUIRED_PAYMENTS_RETURNING)
+                rp = self.REQUIRED_PAYMENTS_RETURNING
             for cat in rp:
                 fee_name = cat + '_fee'
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/utils/utils.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/utils/utils.py	(revision 16223)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/utils/utils.py	(revision 16233)
@@ -73,10 +73,11 @@
         'id_card': 'Student ID Card',
         'required_combi': 'Required Combi Payment',
+        'pg_other': 'PG Other Charges',
         }
 
     SELECTABLE_PAYMENT_CATEGORIES = {
-        'schoolfee': 'Tuition, Accommodation, Adm. Charges (total amount)',
-        'schoolfee40': 'Tuition, Accommodation, Adm. Charges (40% - 1st instalment)',
-        'secondinstal': 'Tuition, Accommodation, Adm. Charges (60% - 2nd instalment)',
+        'schoolfee': 'Tuition Plus (total amount)',
+        'schoolfee40': 'Tuition Plus (40% - 1st instalment)',
+        'secondinstal': 'Tuition Plus (60% - 2nd instalment)',
         'registration': 'Registration Fee',
         'clearance': 'Acceptance Fee',
@@ -121,8 +122,9 @@
         'id_card': 'Student ID Card',
         'required_combi': 'Required Combi Payment',
+        'pg_other': 'PG Other Charges',
         }
 
     PREVIOUS_PAYMENT_CATEGORIES = {
-        'schoolfee': 'Tuition, Accommodation, Adm. Charges (total amount)',
+        'schoolfee': 'Tuition, Accommodation, Adm. Charges',
         'registration': 'Registration Fee',
         'clearance': 'Acceptance Fee',
@@ -149,4 +151,5 @@
         'fine': 'Fine',
         'id_card': 'Student ID Card',
+        'pg_other': 'PG Other Charges',
         }
 
@@ -174,8 +177,9 @@
         'fine': 'Fine',
         'id_card': 'Student ID Card',
+        'pg_other': 'PG Other Charges',
         }
 
     BALANCE_PAYMENT_CATEGORIES = {
-        'schoolfee': 'Tuition, Accommodation, Adm. Charges (total amount)',
+        'schoolfee': 'Tuition, Accommodation, Adm. Charges',
         }
 
