Index: main/kofacustom.unidel/trunk/src/kofacustom/unidel/interswitch/browser.py
===================================================================
--- main/kofacustom.unidel/trunk/src/kofacustom/unidel/interswitch/browser.py	(revision 17933)
+++ main/kofacustom.unidel/trunk/src/kofacustom/unidel/interswitch/browser.py	(revision 17935)
@@ -87,4 +87,5 @@
         provider_amt = 0.0
         tech_fee = 0.0
+        union_due = 0.0
         if self.context.p_category == 'clearance':
             provider_amt = 2000.0
@@ -107,4 +108,5 @@
             provider_amt = 6650.0
             tech_fee = 2850.0
+            union_due = 1500.0
             if student.is_fresh:
                 provider_amt = 7000.0
@@ -113,4 +115,6 @@
             xmldict['tech_acct'] = '0213065415'
             xmldict['tech_bank_id'] = '47'
+            xmldict['union_acct'] = '1011438901'
+            xmldict['union_bank_id'] = '117'
             if student.current_mode.startswith('dp'):
                 xmldict['institution_acct'] = '2001627961'
@@ -165,28 +169,28 @@
             self.context.amount_auth += provider_amt
             self.context.amount_auth += tech_fee
+            self.context.amount_auth += union_due
         xmldict['provider_amt'] = 100 * provider_amt
         xmldict['tech_fee'] = 100 * tech_fee
+        xmldict['union_due'] = 100 * union_due
         xmldict['institution_item_name'] = self.context.category
         xmldict['institution_name'] = INSTITUTION_NAME
         xmldict['institution_amt'] = 100 * self.context.net_amt
-        if provider_amt == 0:
-            xmltext = """<payment_item_detail>
+        xmldict['item_id'] = 1
+        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="%(institution_item_name)s" item_amt="%(institution_amt)d" bank_id="%(institution_bank_id)s" acct_num="%(institution_acct)s" />
-</item_details>
-</payment_item_detail>""" % xmldict
-        elif tech_fee == 0:
-            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="%(institution_item_name)s" item_amt="%(institution_amt)d" bank_id="%(institution_bank_id)s" acct_num="%(institution_acct)s" />
-<item_detail item_id="2" item_name="%(provider_item_name)s" item_amt="%(provider_amt)d" bank_id="%(provider_bank_id)s" acct_num="%(provider_acct)s" />
-</item_details>
-</payment_item_detail>""" % xmldict
-        else:
-            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="%(institution_item_name)s" item_amt="%(institution_amt)d" bank_id="%(institution_bank_id)s" acct_num="%(institution_acct)s" />
-<item_detail item_id="2" item_name="%(provider_item_name)s" item_amt="%(provider_amt)d" bank_id="%(provider_bank_id)s" acct_num="%(provider_acct)s" />
-<item_detail item_id="3" item_name="Technology Fee" item_amt="%(tech_fee)d" bank_id="%(tech_bank_id)s" acct_num="%(tech_acct)s"/>
+<item_detail item_id="%(item_id)s" item_name="%(institution_item_name)s" item_amt="%(institution_amt)d" bank_id="%(institution_bank_id)s" acct_num="%(institution_acct)s" />
+""" % xmldict
+        if provider_amt:
+            xmldict['item_id'] += 1
+            xmltext += """
+<item_detail item_id="%(item_id)s" item_name="%(provider_item_name)s" item_amt="%(provider_amt)d" bank_id="%(provider_bank_id)s" acct_num="%(provider_acct)s" />
+""" % xmldict
+        if tech_fee:
+            xmldict['item_id'] += 1
+            xmltext += """<item_detail item_id="%(item_id)s" item_name="Technology Fee" item_amt="%(tech_fee)d" bank_id="%(tech_bank_id)s" acct_num="%(tech_acct)s"/>
+""" % xmldict
+        if union_due:
+            xmldict['item_id'] += 1
+            xmltext += """<item_detail item_id="%(item_id)s" item_name="Student Union Due" item_amt="%(union_due)d" bank_id="%(union_bank_id)s" acct_num="%(union_acct)s"/>
 </item_details>
 </payment_item_detail>""" % xmldict
Index: main/kofacustom.unidel/trunk/src/kofacustom/unidel/interswitch/tests.py
===================================================================
--- main/kofacustom.unidel/trunk/src/kofacustom/unidel/interswitch/tests.py	(revision 17933)
+++ main/kofacustom.unidel/trunk/src/kofacustom/unidel/interswitch/tests.py	(revision 17935)
@@ -78,8 +78,11 @@
         self.assertEqual(self.student.current_mode, 'ug_ft')
         self.assertTrue(
-            '<input type="hidden" name="amount" value="9025000" />' in
+            '<input type="hidden" name="amount" value="9175000" />' in
             self.browser.contents)
         self.assertTrue(
             'item_name="School Fee" item_amt="8000000" bank_id="117" acct_num="1011739172"' in
+            self.browser.contents)
+        self.assertTrue(
+            '<item_detail item_id="4" item_name="Student Union Due" item_amt="150000" bank_id="117" acct_num="1011438901"/>' in
             self.browser.contents)
 
