def _pay(self, id): payment = Payment.find_by_id(self.form_result['payment_id']) c.invoice = payment.invoice person = c.invoice.person if not h.auth.authorized( h.auth.Or(h.auth.is_same_zkpylons_user(person.id), h.auth.has_organiser_role, h.auth.has_unique_key())): # Raise a no_auth error h.auth.no_role() error = self._check_invoice(person, c.invoice) if error is not None: return error client_ip = request.environ['REMOTE_ADDR'] if 'HTTP_X_FORWARDED_FOR' in request.environ: client_ip = request.environ['HTTP_X_FORWARDED_FOR'] # Prepare fields for PxPay params = { 'payment_id': payment.id, 'amount': h.integer_to_currency(payment.amount), 'invoice_id': payment.invoice.id, 'email_address': payment.invoice.person.email_address, 'client_ip': client_ip, 'return_url': 'https://conf.linux.org.au/payment/new', } (valid, uri) = pxpay.generate_request(params) if valid != '1': c.error_msg = "PxPay Generate Request error: " + uri return render("/payment/gateway_error.mako") else: redirect(uri)
def _pay(self, id): payment = Payment.find_by_id(self.form_result['payment_id']) c.invoice = payment.invoice person = c.invoice.person if not h.auth.authorized(h.auth.Or(h.auth.is_same_zkpylons_user(person.id), h.auth.has_organiser_role, h.auth.has_unique_key())): # Raise a no_auth error h.auth.no_role() error = self._check_invoice(person, c.invoice) if error is not None: return error client_ip = request.environ['REMOTE_ADDR'] if 'HTTP_X_FORWARDED_FOR' in request.environ: client_ip = request.environ['HTTP_X_FORWARDED_FOR'] # Prepare fields for PxPay params = { 'payment_id': payment.id, 'amount': h.integer_to_currency(payment.amount), 'invoice_id': payment.invoice.id, 'email_address': payment.invoice.person.email_address, 'client_ip' : client_ip, 'return_url' : 'https://conf.linux.org.au/payment/new', } (valid, uri) = pxpay.generate_request(params) if valid != '1': c.error_msg = "PxPay Generate Request error: " + uri return render("/payment/gateway_error.mako") else: redirect(uri)
def accept(self, id): volunteer = Volunteer.find_by_id(id) category = ProductCategory.find_by_name('Ticket') products = Product.find_by_category(category.id) defaults = {} if volunteer.ticket_type: defaults['ticket_type'] = volunteer.ticket_type.id c.products_select = [] c.products_select.append(['', 'No Ticket']) for p in products: if 'Volunteer' in p.description: c.products_select.append([p.id, p.description + ' - ' + h.integer_to_currency(p.cost)]) form = render('volunteer/accept.mako') return htmlfill.render(form, defaults)