Index: /main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 8244)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 8245)
@@ -450,9 +450,14 @@
     factory = u'waeup.ApplicantOnlinePayment'
 
+    def _fillCustomFields(self, payment, session_config):
+        """No custom fields in the base package
+        """
+        pass
+
     def update(self):
         p_category = 'acceptance'
         session = str(self.context.__parent__.year)
         try:
-            academic_session = grok.getSite()['configuration'][session]
+            session_config = grok.getSite()['configuration'][session]
         except KeyError:
             self.flash(_('Session configuration object is not available.'))
@@ -469,10 +474,8 @@
         payment.p_id = "p%s" % timestamp
         payment.p_item = self.context.__parent__.title
-        payment.p_year = self.context.__parent__.year
+        payment.p_session = self.context.__parent__.year
         payment.p_category = p_category
-        payment.amount_auth = academic_session.acceptance_fee
-        #payment.surcharge_1 = academic_session.surcharge_1
-        #payment.surcharge_2 = academic_session.surcharge_2
-        #payment.surcharge_3 = academic_session.surcharge_3
+        payment.amount_auth = session_config.acceptance_fee
+        payment = self._fillCustomFields(payment, session_config)
         self.context[payment.p_id] = payment
         self.flash(_('Payment ticket created.'))
Index: /main/waeup.kofa/trunk/src/waeup/kofa/applicants/interfaces.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/applicants/interfaces.py	(revision 8244)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/applicants/interfaces.py	(revision 8245)
@@ -29,5 +29,5 @@
 from waeup.kofa.schema import TextLineChoice, FormattedDate
 from waeup.kofa.interfaces import (
-    IKofaObject, year_range, validate_email, academic_sessions_vocab,
+    IKofaObject, year_range, validate_email,
     SimpleKofaVocabulary)
 from waeup.kofa.interfaces import MessageFactory as _
@@ -511,11 +511,2 @@
 
     """
-    p_year = schema.Choice(
-        title = _(u'Payment Session'),
-        source = academic_sessions_vocab,
-        required = False,
-        )
-
-IApplicantOnlinePayment['p_year'].order = IApplicantOnlinePayment[
-    'p_year'].order
-
Index: /main/waeup.kofa/trunk/src/waeup/kofa/payments/interfaces.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/payments/interfaces.py	(revision 8244)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/payments/interfaces.py	(revision 8245)
@@ -18,5 +18,6 @@
 from zope.interface import Attribute
 from zope import schema
-from waeup.kofa.interfaces import IKofaObject, SimpleKofaVocabulary
+from waeup.kofa.interfaces import (
+    IKofaObject, SimpleKofaVocabulary, academic_sessions_vocab)
 from waeup.kofa.interfaces import MessageFactory as _
 
@@ -58,4 +59,10 @@
         title = _(u'Payment Item'),
         default = None,
+        required = False,
+        )
+
+    p_session = schema.Choice(
+        title = _(u'Payment Session'),
+        source = academic_sessions_vocab,
         required = False,
         )
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 8244)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 8245)
@@ -1054,4 +1054,10 @@
     label = _('Add online payment')
     pnav = 4
+    factory = u'waeup.StudentOnlinePayment'
+
+    def _fillCustomFields(self, payment, pay_details):
+        """No custom fields in the base package
+        """
+        pass
 
     @action(_('Create ticket'), style='primary')
@@ -1092,5 +1098,5 @@
                   self.redirect(self.url(self.context))
                   return
-        payment = createObject(u'waeup.StudentOnlinePayment')
+        payment = createObject(self.factory)
         self.applyData(payment, **data)
         timestamp = "%d" % int(time()*1000)
@@ -1099,7 +1105,5 @@
         payment.p_session = p_session
         payment.amount_auth = pay_details['amount']
-        #payment.surcharge_1 = pay_details['surcharge_1']
-        #payment.surcharge_2 = pay_details['surcharge_2']
-        #payment.surcharge_3 = pay_details['surcharge_3']
+        payment = self._fillCustomFields(payment, pay_details)
         self.context[payment.p_id] = payment
         self.flash(_('Payment ticket created.'))
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py	(revision 8244)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py	(revision 8245)
@@ -501,9 +501,4 @@
 
     """
-    p_session = schema.Choice(
-        title = _(u'Payment Session'),
-        source = academic_sessions_vocab,
-        required = False,
-        )
 
 IStudentOnlinePayment['p_session'].order = IStudentOnlinePayment[
