Ignore:
Timestamp:
5 Oct 2017, 07:15:22 (7 years ago)
Author:
Henrik Bettermann
Message:

Implement special (supplementary) payment application.

Location:
main/kofacustom.dspg/trunk/src/kofacustom/dspg
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/kofacustom.dspg/trunk/src/kofacustom/dspg/interfaces.py

    r14716 r14859  
    6868
    6969
    70     # Additional fees in custom package add here
     70    # Additional fees in custom package
     71
     72    certificate_fee = schema.Float(
     73        title = _(u'ND Certificate Fee'),
     74        default = 0.0,
     75        required = True,
     76        )
     77    hnd_certificate_fee = schema.Float(
     78        title = _(u'HND Certificate Fee'),
     79        default = 0.0,
     80        required = True,
     81        )
     82    pgd_certificate_fee = schema.Float(
     83        title = _(u'PGD Certificate Fee'),
     84        default = 0.0,
     85        required = True,
     86        )
     87    state_result_fee = schema.Float(
     88        title = _(u'ND Statement of Result Fee'),
     89        default = 0.0,
     90        required = True,
     91        )
     92    hnd_state_result_fee = schema.Float(
     93        title = _(u'HND Statement of Result Fee'),
     94        default = 0.0,
     95        required = True,
     96        )
     97    pgd_state_result_fee = schema.Float(
     98        title = _(u'PGD Statement of Result Fee'),
     99        default = 0.0,
     100        required = True,
     101        )
     102    transcript_local_fee = schema.Float(
     103        title = _(u'ND Transcript (local) Fee'),
     104        default = 0.0,
     105        required = True,
     106        )
     107    hnd_transcript_local_fee = schema.Float(
     108        title = _(u'HND Transcript (local) Fee'),
     109        default = 0.0,
     110        required = True,
     111        )
     112    pgd_transcript_local_fee = schema.Float(
     113        title = _(u'PGD Transcript (local) Fee'),
     114        default = 0.0,
     115        required = True,
     116        )
     117    transcript_foreign_fee = schema.Float(
     118        title = _(u'ND Transcript (foreign) Fee'),
     119        default = 0.0,
     120        required = True,
     121        )
     122    hnd_transcript_foreign_fee = schema.Float(
     123        title = _(u'HND Transcript (foreign) Fee'),
     124        default = 0.0,
     125        required = True,
     126        )
     127    pgd_transcript_foreign_fee = schema.Float(
     128        title = _(u'PGD Transcript (foreign) Fee'),
     129        default = 0.0,
     130        required = True,
     131        )
     132    ver_result_fee = schema.Float(
     133        title = _(u'Verification of Result Fee'),
     134        default = 0.0,
     135        required = True,
     136        )
     137    change_course_fee = schema.Float(
     138        title = _(u'Change of Course Fee'),
     139        default = 0.0,
     140        required = True,
     141        )
     142    change_inst_fee = schema.Float(
     143        title = _(u'Change of Institute Fee'),
     144        default = 0.0,
     145        required = True,
     146        )
     147    jamb_reject_fee = schema.Float(
     148        title = _(u'JAMB Rejection Form Fee'),
     149        default = 0.0,
     150        required = True,
     151        )
     152    cert_of_cert_fee = schema.Float(
     153        title = _(u'Certification of Certificate Fee'),
     154        default = 0.0,
     155        required = True,
     156        )
     157    ref_let_fee = schema.Float(
     158        title = _(u'Recommendation/Reference Letter Fee'),
     159        default = 0.0,
     160        required = True,
     161        )
     162    proc_cert_fee = schema.Float(
     163        title = _(u'Processing of Certificate by Proxy Fee'),
     164        default = 0.0,
     165        required = True,
     166        )
     167    loss_idcard_fee = schema.Float(
     168        title = _(u'Loss of ID Card Fee (student)'),
     169        default = 0.0,
     170        required = True,
     171        )
     172    staff_loss_idcard_fee = schema.Float(
     173        title = _(u'Loss of ID Card Fee (staff)'),
     174        default = 0.0,
     175        required = True,
     176        )
     177    loss_examcard_fee = schema.Float(
     178        title = _(u'Loss of Exam Card Fee'),
     179        default = 0.0,
     180        required = True,
     181        )
     182    loss_result_fee = schema.Float(
     183        title = _(u'Loss of Result Fee'),
     184        default = 0.0,
     185        required = True,
     186        )
     187    loss_receipt_fee = schema.Float(
     188        title = _(u'Loss of Receipt Fee'),
     189        default = 0.0,
     190        required = True,
     191        )
     192    loss_clearance_fee = schema.Float(
     193        title = _(u'Loss of Clearance Fee'),
     194        default = 0.0,
     195        required = True,
     196        )
     197    conv_brochure_fee = schema.Float(
     198        title = _(u'ND Convocation Brochure Fee'),
     199        default = 0.0,
     200        required = True,
     201        )
     202    hnd_conv_brochure_fee = schema.Float(
     203        title = _(u'HND Convocation Brochure Fee'),
     204        default = 0.0,
     205        required = True,
     206        )
     207    pgd_conv_brochure_fee = schema.Float(
     208        title = _(u'PGD Convocation Brochure Fee'),
     209        default = 0.0,
     210        required = True,
     211        )
     212    log_book_fee = schema.Float(
     213        title = _(u'Log Book Fees'),
     214        default = 0.0,
     215        required = True,
     216        )
     217    jamb_regularization_fee = schema.Float(
     218        title = _(u'Jamb Regularization Fee'),
     219        default = 0.0,
     220        required = True,
     221        )
     222    utme_registration_fee = schema.Float(
     223        title = _(u'UTME Registration Fee'),
     224        default = 0.0,
     225        required = True,
     226        )
     227    utme_cbt_fee = schema.Float(
     228        title = _(u'UTME CBT Fee'),
     229        default = 0.0,
     230        required = True,
     231        )
     232    nysc_id_card_fee = schema.Float(
     233        title = _(u'NYSC ID Card Fee'),
     234        default = 0.0,
     235        required = True,
     236        )
     237    ijmb_result_fee = schema.Float(
     238        title = _(u'IJMB Result Fee'),
     239        default = 0.0,
     240        required = True,
     241        )
    71242
    72243
  • main/kofacustom.dspg/trunk/src/kofacustom/dspg/interswitch/browser.py

    r14819 r14859  
    4848httplib.HTTPSConnection.debuglevel = 0
    4949HTTPS = True
     50
     51SPECIAL_PAYMENT_PARAMS = {
     52    'certificate': ('111', 500.0, '1012808851', '117'),
     53    'state_result': ('112', 500.0, '1012808851', '117'),
     54    'transcript_local': ('113', 500.0, '1012808851', '117'),
     55    'transcript_foreign': ('114', 500.0, '1012808851', '117'),
     56    'ver_result': ('115', 500.0, '1012808851', '117'),
     57    'change_course': ('116', 500.0, '1012808851', '117'),
     58    'change_inst': ('117', 500.0, '1012808851', '117'),
     59    'jamb_reject': ('118', 500.0, '1012808851', '117'),
     60    'cert_of_cert': ('119', 500.0, '1012808851', '117'),
     61    'ref_let': ('120', 500.0, '1012808851', '117'),
     62    'proc_cert': ('121', 500.0, '1012808851', '117'),
     63    'loss_idcard': ('122', 9.0, '1012808851', '117'),
     64    'loss_examcard': ('123', 4.5, '1012808851', '117'),
     65    'loss_result': ('124', 500.0, '1012808851', '117'),
     66    'loss_receipt': ('125', 500.0, '1012808851', '117'),
     67    'loss_clearance': ('126', 500.0, '1012808851', '117'),
     68    'conv_brochure': ('127', 500.0, '1012808851', '117'),
     69    'hnd_certificate': ('128', 500.0, '1012808851', '117'),
     70    'hnd_state_result': ('129', 500.0, '1012808851', '117'),
     71    'hnd_transcript_local': ('130', 500.0, '1012808851', '117'),
     72    'hnd_transcript_foreign': ('131', 500.0, '1012808851', '117'),
     73    'staff_loss_idcard': ('132', 9.0, '1012808851', '117'),
     74    'hnd_conv_brochure': ('133', 500.0, '1012808851', '117'),
     75    'pgd_state_result': ('134', 500.0, '1012808851', '117'),
     76    'pgd_conv_brochure': ('135', 500.0, '1012808851', '117'),
     77    'pgd_certificate': ('136', 500.0, '1012808851', '117'),
     78    'log_book': ('137', 4.5, '1012808851', '117'),
     79    'pgd_transcript_foreign': ('138', 500.0, '1012808851', '117'),
     80    'pgd_transcript_local': ('139', 500.0, '1012808851', '117'),
     81    'jamb_regularization': ('140', 500.0, '1012808851', '117'),
     82    'utme_registration': ('142', 9.0, '1012808851', '117'),
     83    'utme_cbt': ('143', 9.0, '1012808851', '117'),
     84    'nysc_id_card': ('144', 9.0, '1012808851', '117'),
     85    'ijmb_result': ('147', 500.0, '1012808851', '117'),
     86    }
    5087
    5188class CustomInterswitchPageStudent(InterswitchPageStudent):
     
    132169        xmldict = {}
    133170        provider_amt = 500.0
     171        gateway_amt = GATEWAY_AMT
    134172        xmldict['institution_acct'] = '00000000'
    135173        xmldict['institution_bank_id'] = '00'
     
    141179            xmldict['institution_acct'] = '1015220292'
    142180            xmldict['institution_bank_id'] = '117'
     181        elif self.applicant.applicant_id.startswith('special'):
     182            if self.context.p_category in SPECIAL_PAYMENT_PARAMS.keys():
     183                self.pay_item_id = SPECIAL_PAYMENT_PARAMS[self.context.p_category][0]
     184                provider_amt = SPECIAL_PAYMENT_PARAMS[self.context.p_category][1]
     185                xmldict['institution_acct'] = SPECIAL_PAYMENT_PARAMS[self.context.p_category][2]
     186                xmldict['institution_bank_id'] = SPECIAL_PAYMENT_PARAMS[self.context.p_category][3]
     187        if self.pay_item_id in ('122', '123', '132', '137', '141',
     188                                '142', '143', '144', '146', '147',):
     189                gateway_amt = round(0.015 * self.context.amount_auth, 2)
    143190        xmldict['detail_ref'] = self.context.p_id
    144191        xmldict['provider_amt'] = 100 * provider_amt
     
    146193        xmldict['provider_bank_id'] = PROVIDER_BANK_ID
    147194        xmldict['provider_item_name'] = PROVIDER_ITEM_NAME
    148         xmldict['institution_amt'] = 100 * (self.context.amount_auth - provider_amt - GATEWAY_AMT)
     195        xmldict['institution_amt'] = 100 * (self.context.amount_auth - provider_amt - gateway_amt)
    149196        xmldict['institution_item_name'] = self.context.category
    150197        xmldict['institution_name'] = INSTITUTION_NAME
  • main/kofacustom.dspg/trunk/src/kofacustom/dspg/utils/utils.py

    r14720 r14859  
    5151        'rmd': 'Remedial',
    5252        }
     53
     54    PAYMENT_CATEGORIES = {
     55        'clearance': 'Acceptance',
     56        'schoolfee': 'School Fee',
     57        'carryover1': 'One Carry-Over',
     58        'carryover2': 'Two Carry-Overs',
     59        'carryover3': 'Three Carry-Overs',
     60        'bed_allocation': 'Bed Allocation',
     61        'hostel_maintenance': 'Hostel Maintenance',
     62        'application': 'Application',
     63        'certificate': 'ND Certificate',
     64        'hnd_certificate': 'HND Certificate',
     65        'pgd_certificate': 'PGD Certificate',
     66        'state_result': 'ND Statement of Result',
     67        'hnd_state_result': 'HND Statement of Result',
     68        'pgd_state_result': 'PGD Statement of Result',
     69        'transcript_local': 'ND Transcript (local)',
     70        'hnd_transcript_local': 'HND Transcript (local)',
     71        'pgd_transcript_local': 'PGD Transcript (local)',
     72        'transcript_foreign': 'ND Transcript (foreign)',
     73        'hnd_transcript_foreign': 'HND Transcript (foreign)',
     74        'pgd_transcript_foreign': 'PGD Transcript (foreign)',
     75        'ver_result': 'Verification of Result',
     76        'change_course': 'Change of Course',
     77        'change_inst': 'Change of Institute',
     78        'jamb_reject': 'JAMB Rejection Form',
     79        'cert_of_cert': 'Certification of Certificate',
     80        'ref_let': 'Recommendation/Reference Letter',
     81        'proc_cert': 'Processing of Certificate by Proxy',
     82        'loss_idcard': 'Loss of ID Card (student)',
     83        'staff_loss_idcard': 'Loss of ID Card (staff)',
     84        'loss_examcard': 'Loss of Exam Card',
     85        'loss_result': 'Loss of Result',
     86        'loss_receipt': 'Loss of Receipt',
     87        'loss_clearance': 'Loss of Clearance',
     88        'conv_brochure': 'ND Convocation Brochure',
     89        'hnd_conv_brochure': 'HND Convocation Brochure',
     90        'pgd_conv_brochure': 'PGD Convocation Brochure',
     91        'log_book': 'Log Book',
     92        'jamb_regularization': 'Jamb Regularization',
     93        'utme_registration': 'UTME Registration',
     94        'utme_cbt': 'UTME CBT',
     95        'nysc_id_card': 'NYSC ID Card',
     96        'ijmb_result':'IJMB Result',
     97        }
     98
     99    SELECTABLE_PAYMENT_CATEGORIES = {
     100        'clearance': 'Acceptance',
     101        'schoolfee': 'School Fee',
     102        'carryover1': 'One Carry-Over',
     103        'carryover2': 'Two Carry-Overs',
     104        'carryover3': 'Three Carry-Overs',
     105        'hostel_maintenance': 'Hostel Maintenance',
     106        'certificate': 'ND Certificate',
     107        'hnd_certificate': 'HND Certificate',
     108        'pgd_certificate': 'PGD Certificate',
     109        'state_result': 'ND Statement of Result',
     110        'hnd_state_result': 'HND Statement of Result',
     111        'pgd_state_result': 'PGD Statement of Result',
     112        'transcript_local': 'ND Transcript (local)',
     113        'hnd_transcript_local': 'HND Transcript (local)',
     114        'pgd_transcript_local': 'PGD Transcript (local)',
     115        'transcript_foreign': 'ND Transcript (foreign)',
     116        'hnd_transcript_foreign': 'HND Transcript (foreign)',
     117        'pgd_transcript_foreign': 'PGD Transcript (foreign)',
     118        'ver_result': 'Verification of Result',
     119        'change_course': 'Change of Course',
     120        'change_inst': 'Change of Institute',
     121        'jamb_reject': 'JAMB Rejection Form',
     122        'cert_of_cert': 'Certification of Certificate',
     123        'ref_let': 'Recommendation/Reference Letter',
     124        'proc_cert': 'Processing of Certificate by Proxy',
     125        'loss_idcard': 'Loss of ID Card (student)',
     126        'staff_loss_idcard': 'Loss of ID Card (staff)',
     127        'loss_examcard': 'Loss of Exam Card',
     128        'loss_result': 'Loss of Result',
     129        'loss_receipt': 'Loss of Receipt',
     130        'loss_clearance': 'Loss of Clearance',
     131        'conv_brochure': 'ND Convocation Brochure',
     132        'hnd_conv_brochure': 'HND Convocation Brochure',
     133        'pgd_conv_brochure': 'PGD Convocation Brochure',
     134        'log_book': 'Log Book',
     135        'jamb_regularization': 'Jamb Regularization',
     136        'utme_registration': 'UTME Registration',
     137        'utme_cbt': 'UTME CBT',
     138        'nysc_id_card': 'NYSC ID Card',
     139        'ijmb_result':'IJMB Result',
     140        }
     141
     142    SPECIAL_APP_DICT = {
     143        'certificate': 'ND Certificate',
     144        'hnd_certificate': 'HND Certificate',
     145        'pgd_certificate': 'PGD Certificate',
     146        'state_result': 'ND Statement of Result',
     147        'hnd_state_result': 'HND Statement of Result',
     148        'pgd_state_result': 'PGD Statement of Result',
     149        'transcript_local': 'ND Transcript (local)',
     150        'hnd_transcript_local': 'HND Transcript (local)',
     151        'pgd_transcript_local': 'PGD Transcript (local)',
     152        'transcript_foreign': 'ND Transcript (foreign)',
     153        'hnd_transcript_foreign': 'HND Transcript (foreign)',
     154        'pgd_transcript_foreign': 'PGD Transcript (foreign)',
     155        'ver_result': 'Verification of Result Payment',
     156        'change_course': 'Change of Course Payment',
     157        'change_inst': 'Change of Institute Payment',
     158        'jamb_reject': 'JAMB Rejection Form Payment',
     159        'cert_of_cert': 'Certification of Certificate Payment',
     160        'ref_let': 'Recommendation/Reference Letter Payment',
     161        'proc_cert': 'Processing of Certificate by Proxy Payment',
     162        'loss_idcard': 'Loss of ID Card (student)',
     163        'staff_loss_idcard': 'Loss of ID Card (staff)',
     164        'loss_examcard': 'Loss of Exam Card Payment',
     165        'loss_result': 'Loss of Result Payment',
     166        'loss_receipt': 'Loss of Receipt Payment',
     167        'loss_clearance': 'Loss of Clearance Payment',
     168        'conv_brochure': 'ND Convocation Brochure',
     169        'hnd_conv_brochure': 'HND Convocation Brochure',
     170        'pgd_conv_brochure': 'PGD Convocation Brochure',
     171        'log_book': 'Log Book',
     172        'jamb_regularization': 'Jamb Regularization',
     173        'utme_registration': 'UTME Registration',
     174        'utme_cbt': 'UTME CBT',
     175        'nysc_id_card': 'NYSC ID Card',
     176        'ijmb_result':'IJMB Result',
     177        }
Note: See TracChangeset for help on using the changeset viewer.