Index: /main/waeup.custom/trunk/src/waeup/custom/interfaces.py
===================================================================
--- /main/waeup.custom/trunk/src/waeup/custom/interfaces.py	(revision 7927)
+++ /main/waeup.custom/trunk/src/waeup/custom/interfaces.py	(revision 7928)
@@ -31,43 +31,43 @@
     # Base fees, do not remove.
 
-    school_fee_base = schema.Int(
+    school_fee_base = schema.Float(
         title = _(u'School Fee (ignored)'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    surcharge_1 = schema.Int(
+    surcharge_1 = schema.Float(
         title = _(u'Surcharge Portal Provider'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    surcharge_2 = schema.Int(
+    surcharge_2 = schema.Float(
         title = _(u'Surcharge Interswitch'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    surcharge_3 = schema.Int(
+    surcharge_3 = schema.Float(
         title = _(u'Surcharge 3'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    clearance_fee = schema.Int(
+    clearance_fee = schema.Float(
         title = _(u'Clearance Fee'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    booking_fee = schema.Int(
+    booking_fee = schema.Float(
         title = _(u'Booking Fee'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    acceptance_fee = schema.Int(
+    acceptance_fee = schema.Float(
         title = _(u'Acceptance Fee'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
@@ -75,19 +75,19 @@
     # Additional fees in waeup.custom
 
-    maint_fee = schema.Int(
+    maint_fee = schema.Float(
         title = _(u'Maintenance Fee'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    gown = schema.Int(
+    gown = schema.Float(
         title = _(u'Gown Fee'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
 
-    transfer = schema.Int(
+    transfer = schema.Float(
         title = _(u'Transfer Fee'),
-        default = 0,
+        default = 0.0,
         required = False,
         )
Index: /main/waeup.custom/trunk/src/waeup/custom/interswitch/browser.py
===================================================================
--- /main/waeup.custom/trunk/src/waeup/custom/interswitch/browser.py	(revision 7927)
+++ /main/waeup.custom/trunk/src/waeup/custom/interswitch/browser.py	(revision 7928)
@@ -197,5 +197,5 @@
         self.context.r_code = query.get('resp', None)
         self.context.r_pay_reference  = query.get('payRef', None)
-        self.context.r_amount_approved = int(query.get('apprAmt', '0')) / 100
+        self.context.r_amount_approved = float(query.get('apprAmt', '0.0')) / 100
         self.context.r_desc = query.get('desc', None)
 
@@ -260,5 +260,5 @@
         self.context.r_code = wlist[0]
         self.context.r_desc = wlist[1]
-        self.context.r_amount_approved = int(wlist[2]) / 100
+        self.context.r_amount_approved = float(wlist[2]) / 100
         self.context.r_card_num = wlist[3]
         self.context.r_pay_reference = wlist[5]
Index: /main/waeup.custom/trunk/src/waeup/custom/interswitch/tests.py
===================================================================
--- /main/waeup.custom/trunk/src/waeup/custom/interswitch/tests.py	(revision 7927)
+++ /main/waeup.custom/trunk/src/waeup/custom/interswitch/tests.py	(revision 7928)
@@ -59,5 +59,5 @@
                            self.browser.contents)
         self.assertMatches(
-            '...<input type="hidden" name="amount" value="4000000" />...',
+            '...<input type="hidden" name="amount" value="4000000.0" />...',
             self.browser.contents)
 
Index: /main/waeup.custom/trunk/src/waeup/custom/students/tests/test_browser.py
===================================================================
--- /main/waeup.custom/trunk/src/waeup/custom/students/tests/test_browser.py	(revision 7927)
+++ /main/waeup.custom/trunk/src/waeup/custom/students/tests/test_browser.py	(revision 7928)
@@ -96,8 +96,8 @@
     def test_manage_payments(self):
         # Add missing configuration data
-        self.app['configuration']['2004'].gown_fee = 150
-        self.app['configuration']['2004'].transfer_fee = 90
-        self.app['configuration']['2004'].clearance_fee = 120
-        self.app['configuration']['2004'].maint_fee = 180
+        self.app['configuration']['2004'].gown_fee = 150.0
+        self.app['configuration']['2004'].transfer_fee = 90.0
+        self.app['configuration']['2004'].clearance_fee = 120.0
+        self.app['configuration']['2004'].maint_fee = 180.0
 
         # Managers can add online payment tickets
Index: /main/waeup.custom/trunk/src/waeup/custom/students/utils.py
===================================================================
--- /main/waeup.custom/trunk/src/waeup/custom/students/utils.py	(revision 7927)
+++ /main/waeup.custom/trunk/src/waeup/custom/students/utils.py	(revision 7928)
@@ -33,12 +33,12 @@
         # fresh
         if state == CLEARED:
-            return 40000 - surcharge
+            return 40000.0 - surcharge
         # returning
         elif state == RETURNING:
-            return 20000 - surcharge
+            return 20000.0 - surcharge
         else:
-            return 0
+            return 0.0
     else:
-        return 0
+        return 0.0
 
 class StudentsUtils(StudentsUtils):
@@ -59,7 +59,7 @@
     def getPaymentDetails(self, category, student):
         d = {}
-        d['surcharge_1'] = d['surcharge_2'] = d['surcharge_3'] = 0
+        d['surcharge_1'] = d['surcharge_2'] = d['surcharge_3'] = 0.0
         d['p_item'] = u''
-        d['amount'] = 0
+        d['amount'] = 0.0
         d['error'] = u''
         d['p_session'] = student['studycourse'].current_session
@@ -88,5 +88,5 @@
             d['p_item'] = code
             d['p_session'] += 1
-        if d['amount'] == 0:
+        if d['amount'] == 0.0:
             d['error'] = _(u'Amount could not be determined.')
         return d
