Index: /main/waeup.futminna/trunk/src/waeup/futminna/interswitch/browser.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/interswitch/browser.py	(revision 9408)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/interswitch/browser.py	(revision 9409)
@@ -28,5 +28,4 @@
 from waeup.kofa.students.viewlets import ApprovePaymentActionButton as APABStudent
 from waeup.kofa.applicants.viewlets import ApprovePaymentActionButton as APABApplicant
-from waeup.kofa.payments.interfaces import payment_categories
 from waeup.futminna.students.interfaces import ICustomStudentOnlinePayment
 from waeup.futminna.applicants.interfaces import ICustomApplicantOnlinePayment
@@ -177,6 +176,5 @@
             xmldict['department'] = None
             xmldict['faculty'] = None
-        self.category = payment_categories.getTermByToken(
-            self.context.p_category).title
+        self.category = getUtility(IKofaUtils).PAYMENT_CATEGORIES[self.context.p_category]
         tz = getUtility(IKofaUtils).tzinfo
         self.local_date_time = to_timezone(
@@ -265,4 +263,18 @@
             self.pay_item_id = "11706"
 
+        elif self.context.p_category == 'hostel_maintenance':
+            xmldict['institution_amt'] = 100 * (
+                self.context.amount_auth - 300)
+            xmldict['institution_acct'] = "0000000000000"
+            xmldict['institution_bank_id'] = '00'
+            self.pay_item_id = "0000"
+
+        elif self.context.p_category == 'block_h_maintenance':
+            xmldict['institution_amt'] = 100 * (
+                self.context.amount_auth - 300)
+            xmldict['institution_acct'] = "0000000000000"
+            xmldict['institution_bank_id'] = '00'
+            self.pay_item_id = "0000"
+
         xmldict['institution_name'] = INSTITUTION_NAME
         # Interswitch amount is not part of the xml data
@@ -275,4 +287,5 @@
 </item_details>
 </payment_item_detail>""" % xmldict
+
         elif self.context.p_category == 'clearance':
             xmltext = """<payment_item_detail>
@@ -281,4 +294,13 @@
 </item_details>
 </payment_item_detail>""" % xmldict
+
+        elif 'maintenance' in self.context.p_category:
+            xmltext = """<payment_item_detail>
+<item_details detail_ref="%(detail_ref)s" college="%(institution_name)s" department="%(department)s" faculty="%(faculty)s">
+<item_detail item_id="1" item_name="Maintenance Fee" item_amt="%(institution_amt)d" bank_id="%(institution_bank_id)s" acct_num="%(institution_acct)s" />
+</item_details>
+</payment_item_detail>""" % xmldict
+
+
         self.xml_data = """<input type="hidden" name="xml_data" value='%s'  />""" % xmltext
         return
Index: /main/waeup.futminna/trunk/src/waeup/futminna/students/tests/test_browser.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/students/tests/test_browser.py	(revision 9408)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/students/tests/test_browser.py	(revision 9409)
@@ -162,5 +162,5 @@
         self.assertEqual(payment.p_level, 100)
         self.assertEqual(payment.p_session, 2004)
-        self.assertEqual(payment.amount_auth, 15000.0)
+        self.assertEqual(payment.amount_auth, 10000.0)
         self.assertEqual(payment.p_item, u'sse_male_fr')
         self.assertEqual(error, None)
@@ -171,4 +171,11 @@
         self.assertEqual(payment.p_session, 2004)
         self.assertEqual(payment.amount_auth, 10000.0)
+        self.assertEqual(payment.p_item, u'regular_male_fr')
+        self.assertEqual(error, None)
+
+        error, payment = utils.setPaymentDetails('block_h_maintenance',self.student)
+        self.assertEqual(payment.p_level, 100)
+        self.assertEqual(payment.p_session, 2004)
+        self.assertEqual(payment.amount_auth, 15000.0)
         self.assertEqual(payment.p_item, u'regular_male_fr')
         self.assertEqual(error, None)
Index: /main/waeup.futminna/trunk/src/waeup/futminna/students/utils.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/students/utils.py	(revision 9408)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/students/utils.py	(revision 9409)
@@ -120,11 +120,16 @@
                 'booking_session']:
                 return _(u'Current session does not match accommodation session.'), None
-            if student.faccode == 'SSE':
-                amount = 15000.0
-            elif student.current_level  in ('100','200','300','400','500') and \
+            if student.current_level  in ('100','200','300','400','500') and \
                 student.faccode in ('EET','SET','AAT','ICT','EMT'):
                 amount = 12000.0
             else:
                 amount = 10000.0
+            p_item = acc_details['bt']
+        elif category == 'block_h_maintenance':
+            acc_details = self.getAccommodationDetails(student)
+            if student['studycourse'].current_session != acc_details[
+                'booking_session']:
+                return _(u'Current session does not match accommodation session.'), None
+            amount = 15000.0
             p_item = acc_details['bt']
         elif category == 'bed_allocation':
Index: /main/waeup.futminna/trunk/src/waeup/futminna/utils/utils.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/utils/utils.py	(revision 9408)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/utils/utils.py	(revision 9409)
@@ -32,2 +32,10 @@
         'sse': 'SSE Hostel'
         }
+
+    PAYMENT_CATEGORIES = {
+        'schoolfee': 'School Fee',
+        'clearance': 'Acceptance Fee',
+        'hostel_maintenance': 'Regular Hostel Maintenance Fee',
+        'block_h_maintenance': 'Block H Maintenance Fee',
+        'application': 'Application Fee'
+        }
