def merchant_fields_generate(self): mf = self.list_merchant_fields() self.set_value("merchant_fields", mf) if mf: self.set_value("md5merchant", md5merchant_generate( self.get_value("user_id"), self.get_value("invoice"), self.get_value("amount"), self.get_value("merchant_field_value"))) cf = u"" merchant_field = self.get_value("merchant_field") merchant_field_value = self.get_value("merchant_field_value") if self.prepare_transaction: self.model_create() self.model_save() if merchant_field: cf += u"""<input type="hidden" name="%s" value="%s">""" % ( merchant_field, merchant_field_value) self.set_value("merchant_field_value", None) return mark_safe(u"%s" % cf)
if status_data.md5sig != md5sig_generate(status_data): # Invalid md5sig, that's not Moneybookers return HttpResponseForbidden("Allowed only for Moneybookers") if error: status_data.set_error(error) status_data.mb_ipaddress = request.META.get("REMOTE_ADDR", "0.0.0.0") if not request.is_secure() and STATUS_URL[:5]=="https": status_data.set_error("Moneybookers request was not SSL-encrypted") merchant_field = status_data.merchant_field merchant_value = request.POST.get(merchant_field,"") if status_data.md5merchant != md5merchant_generate(status_data.user_id, status_data.invoice, status_data.amount, merchant_value): status_data.set_error("Invalid md5 of merchants fields") if user_id_old and user_id_old != status_data.user_id: status_data.set_error("Wrong User ID: old=%s, new=%s" % (user_id_old, status_data.user_id)) if invoice_old and invoice_old != status_data.invoice: status_data.set_error("Wrong Order ID: old=%s, new=%s" % (invoice_old, status_data.invoice)) if amount_old and amount_old != status_data.mb_amount: status_data.set_error("Wrong amount: amount=%s, mb_amount=%s" % (amount_old, status_data.amount)) if status_data.status != "2": status_data.set_error("""Payment status is not "Processed": %s""" % status_data.status) if status_data.pay_to_email != PAY_TO_EMAIL: