source: WAeUP_SRP/trunk/skins/waeup_epayment/epayment_cb.py @ 1359

Last change on this file since 1359 was 1349, checked in by joachim, 18 years ago

added case for empty response

  • Property svn:keywords set to Id
File size: 1.5 KB
RevLine 
[1224]1## Script (Python) "epayment_cb"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=
8##title=
9##
10# $Id: epayment_cb.py 1349 2007-01-25 17:51:30Z joachim $
11"""
12payment callback
13"""
14import logging
[1348]15logger = logging.getLogger('EPayment.CallBack')
[1224]16import DateTime
17
18request = context.REQUEST
19students = context.portal_url.getPortalObject().campus.students
[1303]20wftool = context.portal_workflow
[1224]21student_id = context.getStudentId()
22if student_id is None:
23    return context.REQUEST.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())
24
25student = getattr(students,student_id)
26
[1246]27resp_codes = (("x_RespDesc","resp_desc"),
[1224]28              ("x_RespPayRef","resp_pay_reference"),
29              ("x_RespCode","resp_code"),
30              ("x_CardNum","resp_card_num"),
31              ("x_ApprAmt","resp_approved_amount"),
32              )
[1229]33pd = {}
[1243]34#from Products.zdb import set_trace;set_trace()
[1224]35for rc,pdk in resp_codes:
36    pd[pdk] = request.get(rc)
[1229]37context.getContent().edit(mapping=pd)
[1349]38resp = pd['resp_desc']
39if  resp.startswith('Appro') and resp.endswith('essful'):
[1348]40    wftool.doActionFor(student,'pay_school_fee')
41    logger.info('"%s", "received valid callback"' % student_id)
[1349]42elif len(resp) < 3:
43    logger.info('"%s", "received no callback"' % student_id)   
[1348]44else:
[1349]45    logger.info('"%s", "received unsuccessfull callback"' % student_id)   
[1308]46wftool.doActionFor(context,'close')
[1303]47
[1304]48return request.RESPONSE.redirect("%s/waeup_document_view" % context.absolute_url())
Note: See TracBrowser for help on using the repository browser.