Index: /main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 15450)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 15451)
@@ -308,62 +308,4 @@
     form_fields[
         'payment_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
-
-class CustomOnlinePaymentAddFormPage(NigeriaOnlinePaymentAddFormPage):
-    """ Page to add an online payment ticket
-    """
-    form_fields = grok.AutoFields(ICustomStudentOnlinePayment).select(
-        'p_category')
-
-    ALUMNI_PAYMENT_CATS =  {
-        'transcript_local': 'Transcript Fee Local',
-        'transcript_inter': 'Transcript Fee International',
-        }
-
-    REDUCED_PAYMENT_CATS =  {
-        'clearance': 'Acceptance Fee',
-        'schoolfee': 'School Fee',
-        }
-
-    IJMBE_PAYMENT_CATS =  {
-        'clearance': 'Acceptance Fee',
-        'schoolfee': 'School Fee',
-        'schoolfee_1': 'School Fee (1st instalment)',
-        'schoolfee_2': 'School Fee (2nd instalment)',
-        }
-
-    PT_AND_DSH_PAYMENT_CATS =  {
-        'clearance_incl': 'Acceptance Fee Plus',
-        'schoolfee_incl': 'School Fee Plus',
-        'ent_registration_1': 'Registration Fee ENT201',
-        'ent_text_book_1': 'Text Book Fee ENT201',
-        'gst_registration_1': 'Registration Fee GST101 GST102 GST111 GST112',
-        'gst_registration_2': 'Registration Fee GST222',
-        'gst_text_book_0': 'Text Book Fee GST101 GST102 GST111 GST112',
-        'gst_text_book_1': 'Text Book Fee GST101 GST102',
-        'gst_text_book_2': 'Text Book Fee GST111 GST112',
-        'gst_text_book_3': 'Text Book Fee GST222',
-        }
-
-    @property
-    def selectable_categories(self):
-        if 'alumni' in self.application_url():
-            return sorted(
-                self.ALUMNI_PAYMENT_CATS.items(), key=lambda value: value[1])
-        if self.context.student.current_mode in (
-            'special_pg_ft', 'special_pg_pt', 'found', 'bridge'):
-            return sorted(
-                self.REDUCED_PAYMENT_CATS.items(), key=lambda value: value[1])
-        if self.context.student.current_mode in (
-            'ug_pt', 'de_pt','dp_pt', 'de_dsh', 'ug_dsh'):
-            return sorted(
-                self.PT_AND_DSH_PAYMENT_CATS.items(),
-                key=lambda value: value[1])
-        if self.context.student.current_mode == 'ijmbe':
-            return sorted(
-                self.IJMBE_PAYMENT_CATS.items(), key=lambda value: value[1])
-        student = self.context.__parent__
-        categories = getUtility(
-            IKofaUtils).selectable_payment_categories(student)
-        return sorted(categories.items(), key=lambda value: value[1])
 
 class CustomPaymentsManageFormPage(PaymentsManageFormPage):
Index: /main/waeup.aaue/trunk/src/waeup/aaue/utils/utils.py
===================================================================
--- /main/waeup.aaue/trunk/src/waeup/aaue/utils/utils.py	(revision 15450)
+++ /main/waeup.aaue/trunk/src/waeup/aaue/utils/utils.py	(revision 15451)
@@ -21,4 +21,5 @@
 import string
 from kofacustom.nigeria.utils.utils import NigeriaKofaUtils
+from waeup.kofa.students.workflow  import ALUMNI_STATES
 
 class CustomKofaUtils(NigeriaKofaUtils):
@@ -99,5 +100,45 @@
         }
 
+    ALUMNI_PAYMENT_CATS =  {
+        'transcript_local': 'Transcript Fee Local',
+        'transcript_inter': 'Transcript Fee International',
+        }
+
+    REDUCED_PAYMENT_CATS =  {
+        'clearance': 'Acceptance Fee',
+        'schoolfee': 'School Fee',
+        }
+
+    IJMBE_PAYMENT_CATS =  {
+        'clearance': 'Acceptance Fee',
+        'schoolfee': 'School Fee',
+        'schoolfee_1': 'School Fee (1st instalment)',
+        'schoolfee_2': 'School Fee (2nd instalment)',
+        }
+
+    PT_AND_DSH_PAYMENT_CATS =  {
+        'clearance_incl': 'Acceptance Fee Plus',
+        'schoolfee_incl': 'School Fee Plus',
+        'ent_registration_1': 'Registration Fee ENT201',
+        'ent_text_book_1': 'Text Book Fee ENT201',
+        'gst_registration_1': 'Registration Fee GST101 GST102 GST111 GST112',
+        'gst_registration_2': 'Registration Fee GST222',
+        'gst_text_book_0': 'Text Book Fee GST101 GST102 GST111 GST112',
+        'gst_text_book_1': 'Text Book Fee GST101 GST102',
+        'gst_text_book_2': 'Text Book Fee GST111 GST112',
+        'gst_text_book_3': 'Text Book Fee GST222',
+        }
+
     def selectable_payment_categories(self, student):
+        if student.state in ALUMNI_STATES:
+            return self.ALUMNI_PAYMENT_CATS
+        if student.current_mode in (
+            'special_pg_ft', 'special_pg_pt', 'found', 'bridge'):
+            return self.REDUCED_PAYMENT_CATS
+        if student.current_mode in (
+            'ug_pt', 'de_pt','dp_pt', 'de_dsh', 'ug_dsh'):
+            return self.PT_AND_DSH_PAYMENT_CATS
+        if student.current_mode == 'ijmbe':
+            return self.IJMBE_PAYMENT_CATS
         return self.SELECTABLE_PAYMENT_CATEGORIES
 
