X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/ca336bd1f9658cf713681d1412d4153e5c4d9c93..907aba88951334676a259dccc8f7edd8934d5e00:/src/club/payment_methods.py?ds=sidebyside diff --git a/src/club/payment_methods.py b/src/club/payment_methods.py index 29221ee6d..1b27bd3e7 100644 --- a/src/club/payment_methods.py +++ b/src/club/payment_methods.py @@ -1,8 +1,12 @@ +# 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): @@ -10,8 +14,8 @@ class PaymentMethod(object): class PayU(PaymentMethod): + is_onetime = True slug = 'payu' - name = 'PayU' template_name = 'club/payment/payu.html' def __init__(self, pos_id): @@ -30,7 +34,6 @@ class PayU(PaymentMethod): class PayURe(PaymentMethod): slug='payu-re' - name = 'PayU Recurring' template_name = 'club/payment/payu-re.html' is_recurring = True @@ -43,45 +46,36 @@ class PayURe(PaymentMethod): 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