fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Minor building fix.
[wolnelektury.git]
/
src
/
club
/
payment_methods.py
diff --git
a/src/club/payment_methods.py
b/src/club/payment_methods.py
index
29221ee
..
9b73c89
100644
(file)
--- a/
src/club/payment_methods.py
+++ b/
src/club/payment_methods.py
@@
-1,8
+1,13
@@
+# 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
from django.conf import settings
from django.urls import reverse
+from paypal.rest import agreement_approval_url
class PaymentMethod(object):
class PaymentMethod(object):
+ is_onetime = False
is_recurring = False
def initiate(self, request, schedule):
is_recurring = False
def initiate(self, request, schedule):
@@
-10,6
+15,7
@@
class PaymentMethod(object):
class PayU(PaymentMethod):
class PayU(PaymentMethod):
+ is_onetime = True
slug = 'payu'
name = 'PayU'
template_name = 'club/payment/payu.html'
slug = 'payu'
name = 'PayU'
template_name = 'club/payment/payu.html'
@@
-29,8
+35,8
@@
class PayU(PaymentMethod):
class PayURe(PaymentMethod):
class PayURe(PaymentMethod):
- slug
=
'payu-re'
- name = 'PayU
R
ecurring'
+ slug
=
'payu-re'
+ name = 'PayU
r
ecurring'
template_name = 'club/payment/payu-re.html'
is_recurring = True
template_name = 'club/payment/payu-re.html'
is_recurring = True
@@
-43,45
+49,48
@@
class PayURe(PaymentMethod):
def pay(self, request, schedule):
# Create order, put it and see what happens next.
from .models import PayUOrder
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,
order = PayUOrder.objects.create(
pos_id=self.pos_id,
- customer_ip=
request.META['REMOTE_ADDR']
,
+ customer_ip=
ip
,
schedule=schedule,
)
return order.put()
schedule=schedule,
)
return order.put()
-class PayPal
Re
(PaymentMethod):
- slug
='paypal-re
'
- name = 'PayPal
Recurring
'
- template_name = 'club/payment/paypal
-re
.html'
+class PayPal(PaymentMethod):
+ slug
= 'paypal
'
+ name = 'PayPal'
+ template_name = 'club/payment/paypal.html'
is_recurring = True
is_recurring = True
+ is_onetime = False
def initiate(self, request, schedule):
def initiate(self, request, schedule):
- return reverse('club_dummy_payment', args=[schedule.key])
+ app = request.GET.get('app')
+ return agreement_approval_url(schedule.amount, schedule.key, app=app)
methods = []
methods = []
-pos = getattr(settings, 'CLUB_PAYU_POS', None)
+pos = getattr(settings, 'CLUB_PAYU_
RECURRING_
POS', None)
if pos:
if pos:
-
payu_method = PayU
(pos)
- methods.append(
payu
_method)
+
recurring_payment_method = PayURe
(pos)
+ methods.append(
recurring_payment
_method)
else:
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:
if pos:
-
payure_method = PayURe
(pos)
- methods.append(
payure
_method)
+
single_payment_method = PayU
(pos)
+ methods.append(
single_payment
_method)
else:
else:
- payure_method = None
-
+ single_payment_method = None
-methods.append(PayPalRe())
-method_by_slug = {
- m.slug: m
- for m in methods
-}
+methods.append(
+ PayPal()
+)