Index: main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/payment.py
===================================================================
--- main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/payment.py	(revision 11639)
+++ main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/payment.py	(revision 11639)
@@ -0,0 +1,59 @@
+## $Id$
+##
+## Copyright (C) 2012 Uli Fouquet & Henrik Bettermann
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+"""
+Application fee payment.
+"""
+import grok
+from zope.component.interfaces import IFactory
+from zope.interface import implementedBy
+from waeup.kofa.applicants.payment import ApplicantOnlinePayment
+from waeup.kofa.utils.helpers import attrs_to_fields
+from kofacustom.nigeria.applicants.interfaces import INigeriaApplicantOnlinePayment
+
+class NigeriaApplicantOnlinePayment(ApplicantOnlinePayment):
+    """This is a custom online payment for applicants.
+
+    Since this class inherits from ApplicantOnlinePayment, it automatically
+    implements the interfaces of the parent class which means
+    all viewlets and views meant for StudentOnlinePayment
+    can also be accessed in the customized system.
+    """
+    grok.implements(INigeriaApplicantOnlinePayment)
+    grok.provides(INigeriaApplicantOnlinePayment)
+
+    def __init__(self):
+        super(NigeriaApplicantOnlinePayment, self).__init__()
+        return
+
+NigeriaApplicantOnlinePayment = attrs_to_fields(
+    NigeriaApplicantOnlinePayment, omit=['display_item'])
+
+# Applicant online payments must be importable. So we might need a factory.
+class NigeriaApplicantOnlinePaymentFactory(grok.GlobalUtility):
+    """A factory for applicant online payments.
+    """
+    grok.implements(IFactory)
+    grok.name(u'waeup.ApplicantOnlinePayment')
+    title = u"Create a new online payment.",
+    description = u"This factory instantiates new online payment instances."
+
+    def __call__(self, *args, **kw):
+        return NigeriaApplicantOnlinePayment()
+
+    def getInterfaces(self):
+        return implementedBy(NigeriaApplicantOnlinePayment)
Index: main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/interswitch/browser.py
===================================================================
--- main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/interswitch/browser.py	(revision 11632)
+++ main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/interswitch/browser.py	(revision 11639)
@@ -147,4 +147,11 @@
     submit_button = _('Submit')
 
+    action = None
+    site_name = None
+    currency = None
+    pay_item_id = None
+    product_id = None
+    xml_data = None
+
     def update(self):
         #if self.context.p_state != 'unpaid':
@@ -160,4 +167,5 @@
             self.redirect(self.url(self.context, '@@index'))
             return
+        kofa_utils = getUtility(IKofaUtils)
         self.amount_auth = 100 * self.context.amount_auth
         xmldict = {}
@@ -168,6 +176,6 @@
             xmldict['department'] = None
             xmldict['faculty'] = None
-        self.category = getUtility(IKofaUtils).PAYMENT_CATEGORIES[self.context.p_category]
-        tz = getUtility(IKofaUtils).tzinfo
+        self.category = kofa_utils.PAYMENT_CATEGORIES[self.context.p_category]
+        tz = kofa_utils.tzinfo
         self.local_date_time = to_timezone(
             self.context.creation_date, tz).strftime("%Y-%m-%d %H:%M:%S %Z")
@@ -185,4 +193,11 @@
     label = _('Submit data to CollegePAY (Interswitch Payment Gateway)')
     submit_button = _('Submit')
+
+    action = None
+    site_name = None
+    currency = None
+    pay_item_id = None
+    product_id = None
+    xml_data = None
 
     def update(self):
Index: main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/students/payments.py
===================================================================
--- main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/students/payments.py	(revision 11632)
+++ main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/students/payments.py	(revision 11639)
@@ -47,5 +47,6 @@
         return self.__parent__.__parent__
 
-NigeriaStudentOnlinePayment = attrs_to_fields(NigeriaStudentOnlinePayment)
+NigeriaStudentOnlinePayment = attrs_to_fields(NigeriaStudentOnlinePayment,
+    omit=['display_item'])
 
 class NigeriaStudentOnlinePaymentFactory(StudentOnlinePaymentFactory):
