+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from django.conf import settings
from django.urls import reverse
class PaymentMethod(object):
+ is_onetime = False
is_recurring = False
def initiate(self, request, schedule):
class PayU(PaymentMethod):
+ is_onetime = True
slug = 'payu'
- name = 'PayU'
template_name = 'club/payment/payu.html'
def __init__(self, pos_id):
class PayURe(PaymentMethod):
slug='payu-re'
- name = 'PayU Recurring'
template_name = 'club/payment/payu-re.html'
is_recurring = True
def pay(self, request, schedule):
# Create order, put it and see what happens next.
from .models import PayUOrder
+ if request is not None:
+ ip = request.META['REMOTE_ADDR']
+ else:
+ ip = '127.0.0.1'
order = PayUOrder.objects.create(
pos_id=self.pos_id,
- customer_ip=request.META['REMOTE_ADDR'],
+ customer_ip=ip,
schedule=schedule,
)
return order.put()
-class PayPalRe(PaymentMethod):
- slug='paypal-re'
- name = 'PayPal Recurring'
- template_name = 'club/payment/paypal-re.html'
+class PayPal(PaymentMethod):
+ slug='paypal'
+ template_name = 'club/payment/paypal.html'
is_recurring = True
+ is_onetime = True
def initiate(self, request, schedule):
return reverse('club_dummy_payment', args=[schedule.key])
-methods = []
-
-pos = getattr(settings, 'CLUB_PAYU_POS', None)
+pos = getattr(settings, 'CLUB_PAYU_RECURRING_POS', None)
if pos:
- payu_method = PayU(pos)
- methods.append(payu_method)
+ recurring_payment_method = PayURe(pos)
else:
- payu_method = None
+ recurring_payment_method = None
-pos= getattr(settings, 'CLUB_PAYU_RECURRING_POS', None)
+pos = getattr(settings, 'CLUB_PAYU_POS', None)
if pos:
- payure_method = PayURe(pos)
- methods.append(payure_method)
+ single_payment_method = PayU(pos)
else:
- payure_method = None
-
-
-methods.append(PayPalRe())
-
-
-method_by_slug = {
- m.slug: m
- for m in methods
-}
+ single_payment_method = None