def ipn(request): ipn = PayUIPNForm(request.POST) ipn_obj = None flag = None s = '' for k in [ 'SALEDATE', 'PAYMENTDATE', 'COMPLETE_DATE', 'REFNO', 'REFNOEXT', 'ORDERNO', 'ORDERSTATUS', 'PAYMETHOD', 'PAYMETHOD_CODE' ]: if request.POST.has_key(k): s += '%s%s' % (len(request.POST.get(k)), request.POST.get(k)) hash = hmac.new(MERCHANT_KEY, s).hexdigest() if request.POST.get('HASH', '') != hash: flag = 'Invalid hash %s. Hash string \n%s' % (request.POST.get( 'HASH', ''), s) else: if ipn.is_valid(): try: #When commit = False, object is returned without saving to DB. ipn_obj = ipn.save(commit=False) except Exception, e: flag = "Exception while processing. (%s)" % e else:
def ipn(request): ipn_obj = None error = None form_data = request.POST ipn_form = PayUIPNForm(form_data) validation_hash = '' for field in PAYU_IPN_FIELDS: if field not in request.POST: continue field_value = request.POST.getlist(field) validation_hash += ''.join(['%s%s' % (len(value), value) for value in field_value]) expected_hash = hmac.new(PAYU_MERCHANT_KEY, validation_hash, hashlib.md5).hexdigest() request_hash = request.POST.get('HASH', '') if request_hash != expected_hash: error = 'Invalid hash %s. Hash string \n%s' % (request_hash, expected_hash) else: if ipn_form.is_valid(): try: ipn_obj = ipn_form.save(commit=False) except Exception, exception: error = "Exception while processing. (%s)" % exception else:
def ipn(request): ipn = PayUIPNForm(request.POST) ipn_obj = None flag = None s = "" for k in [ "SALEDATE", "PAYMENTDATE", "COMPLETE_DATE", "REFNO", "REFNOEXT", "ORDERNO", "ORDERSTATUS", "PAYMETHOD", "PAYMETHOD_CODE", ]: if request.POST.has_key(k): s += "%s%s" % (len(request.POST.get(k)), request.POST.get(k)) hash = hmac.new(MERCHANT_KEY, s).hexdigest() if request.POST.get("HASH", "") != hash: flag = "Invalid hash %s. Hash string \n%s" % (request.POST.get("HASH", ""), s) else: if ipn.is_valid(): try: # When commit = False, object is returned without saving to DB. ipn_obj = ipn.save(commit=False) except Exception, e: flag = "Exception while processing. (%s)" % e else:
def ipn(request): ipn_obj = None error = None form_data = request.POST ipn_form = PayUIPNForm(form_data) validation_hash = '' for field in PAYU_IPN_FIELDS: if field not in request.POST: continue field_value = request.POST.getlist(field) validation_hash += ''.join(['%s%s' % (len(value), value) for value in field_value]) expected_hash = hmac.new(MERCHANT_KEY, validation_hash, hashlib.md5).hexdigest() request_hash = request.POST.get('HASH', '') if request_hash != expected_hash: error = 'Invalid hash %s. Hash string \n%s' % (request_hash, expected_hash) else: if ipn_form.is_valid(): try: ipn_obj = ipn_form.save(commit=False) except Exception, exception: error = "Exception while processing. (%s)" % exception else:
def ipn(request): ipn = PayUIPNForm(request.POST) ipn_obj = None flag = None s = '' for k in ['SALEDATE', 'PAYMENTDATE', 'COMPLETE_DATE', 'REFNO', 'REFNOEXT', 'ORDERNO', 'ORDERSTATUS', 'PAYMETHOD', 'PAYMETHOD_CODE', ]: if request.POST.has_key(k): s += '%s%s' % (len(request.POST.get(k)), request.POST.get(k)) hash = hmac.new(MERCHANT_KEY, s).hexdigest() if request.POST.get('HASH', '') != hash: flag = 'Invalid hash %s. Hash string \n%s' % (request.POST.get('HASH', ''), s) else: if ipn.is_valid(): try: ipn_obj = ipn.save(commit=False) # When commit = False, object is returned without saving to DB. except Exception, e: flag = "Exception while processing. (%s)" % e else: