aboutsummaryrefslogtreecommitdiff
path: root/payments/__init__.py
diff options
context:
space:
mode:
authorMichal Ociepka <michal@ociepka.info>2013-04-25 17:35:52 +0200
committerMichal Ociepka <michal@ociepka.info>2013-04-25 17:36:23 +0200
commit3d9be786756c981d07d1d9d32358f3986143a9cc (patch)
treeb8ceae7db045523a724804136681c6462ceb1e00 /payments/__init__.py
parent577e1f847a346d1c5204ee644096f05ff3bff49f (diff)
downloaddjango-payments-taler-3d9be786756c981d07d1d9d32358f3986143a9cc.tar.gz
django-payments-taler-3d9be786756c981d07d1d9d32358f3986143a9cc.tar.bz2
django-payments-taler-3d9be786756c981d07d1d9d32358f3986143a9cc.zip
Prices init refactoring
Diffstat (limited to 'payments/__init__.py')
-rw-r--r--payments/__init__.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/payments/__init__.py b/payments/__init__.py
index f03495b..f69278d 100644
--- a/payments/__init__.py
+++ b/payments/__init__.py
@@ -1,8 +1,10 @@
from collections import namedtuple
+from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import reverse
-from django.conf import settings
from django.db.models import get_model
+from functools import wraps
+from urlparse import urljoin
PAYMENT_VARIANTS = {
'default': ('payments.dummy.DummyProvider', {
@@ -52,22 +54,25 @@ class BasicProvider(object):
When implementing a new payment provider, overload this method to
transfer provider-specific data.
'''
- raise NotImplementedError
+ raise NotImplementedError()
def get_form(self, data=None):
'''
Converts *payment* into a form suitable for Django templates.
'''
from forms import PaymentForm
- return PaymentForm(self.get_hidden_fields(self.payment), self._action,
+ return PaymentForm(self.get_hidden_fields(), self._action,
self._method)
def process_data(self, request):
'''
Process callback request from a payment provider.
'''
- raise NotImplementedError
+ raise NotImplementedError()
+ def get_return_url(self):
+ payment_link = self.payment.get_process_url()
+ return urljoin(settings.PAYMENT_BASE_URL, payment_link)
def factory(payment, variant='default', order_items=None):
'''