Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser.py
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser.py	(revision 9387)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser.py	(revision 9392)
@@ -19,4 +19,5 @@
 import httplib
 import urllib
+import hashlib
 from xml.dom.minidom import parseString
 import grok
@@ -42,4 +43,5 @@
 #QUERY_URL = 'https://webpay.interswitchng.com/paydirect/services/TransactionQueryURL.aspx'
 #QUERY_URL = 'https://testwebpay.interswitchng.com/test_paydirect/services/TransactionQueryURL.aspx'
+
 #POST_ACTION = 'https://webpay.interswitchng.com/paydirect/webpay/pay.aspx'
 POST_ACTION = 'https://testwebpay.interswitchng.com/test_paydirect/webpay/pay.aspx'
@@ -47,4 +49,5 @@
 #HOST = 'webpay.interswitchng.com'
 HOST = 'testwebpay.interswitchng.com'
+
 #URL = '/paydirect/services/TransactionQueryWs.asmx'
 URL = '/test_paydirect/services/TransactionQueryWs.asmx'
@@ -180,4 +183,5 @@
     pay_item_id = '101'
     product_id = PRODUCT_ID
+    mac = '737396C271FB8E2BA1A612A942267553E16373658A5F83D90DAFFBB806C16E9E6284006C06CEFFB55768004179D7BC01CD237CCE6314B938A5A5D9F49369DE5A'
 
     def update(self):
@@ -235,4 +239,14 @@
         xmldict['institution_item_name'] = self.context.p_category
         xmldict['institution_name'] = INSTITUTION_NAME
+
+        hashargs = (
+            self.context.p_id +
+            PRODUCT_ID +
+            self.pay_item_id +
+            str(int(self.amount_auth)) +
+            self.site_redirect_url +
+            self.mac)
+        self.hashvalue = hashlib.sha512(hashargs).hexdigest()
+
         # Interswitch amount is not part of the xml data
         xmltext = """<payment_item_detail>
@@ -259,5 +273,5 @@
     site_name = SITE_NAME
     currency = CURRENCY
-    pay_item_id = '8303'
+    pay_item_id = ''
     product_id = PRODUCT_ID
 
Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser_templates/student_goto_interswitch.pt
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser_templates/student_goto_interswitch.pt	(revision 9387)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/browser_templates/student_goto_interswitch.pt	(revision 9392)
@@ -59,4 +59,5 @@
   <input type="hidden" name="currency" tal:attributes="value view/currency" />
   <input type="hidden" name="pay_item_id" tal:attributes="value view/pay_item_id" />
+  <input type="hidden" name="hash" tal:attributes="value view/hashvalue" />
   <input type="hidden" name="site_redirect_url" tal:attributes="value view/site_redirect_url" />
   <input type="hidden" name="site_name" tal:attributes="value view/site_name" />
Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/tests.py
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/tests.py	(revision 9387)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interswitch/tests.py	(revision 9392)
@@ -69,4 +69,6 @@
         self.student['studycourse'].current_verdict = 'A'
         self.student['studycourse'].current_level = 100
+        # Set local lga
+        self.student.lga = u'kwara_asa'
         # Update the catalog
         notify(grok.ObjectModifiedEvent(self.student))
@@ -101,5 +103,5 @@
                            self.browser.contents)
         self.assertMatches(
-            '...<span>60980.0</span>...',
+            '...<span>37100.0</span>...',
             self.browser.contents)
         self.payment_url = self.browser.url
@@ -110,8 +112,8 @@
                            self.browser.contents)
         self.assertMatches(
-            '...<input type="hidden" name="amount" value="6098000.0" />...',
-            self.browser.contents)
-        self.assertMatches(
-            '...item_name="schoolfee" item_amt="5768000" bank_id="120" acct_num="1771180233"...',
+            '...<input type="hidden" name="amount" value="3710000.0" />...',
+            self.browser.contents)
+        self.assertMatches(
+            '...item_name="schoolfee" item_amt="3380000" bank_id="120" acct_num="1771180233"...',
             self.browser.contents)
         self.assertMatches(
