diff --git a/payments/models.py b/payments/models.py index 540c021..b33c39f 100644 --- a/payments/models.py +++ b/payments/models.py @@ -4,6 +4,7 @@ from django.conf import settings from django.utils.translation import ugettext_lazy as _ from jsonfield import JSONField from datetime import timedelta +import json from ccvpn.common import get_price from .backends import BackendBase @@ -103,6 +104,10 @@ class BackendData: """ adds a backend data key to this instance's dict """ if not self.backend_data: self.backend_data = {} + + if isinstance(self.backend_data, str): + self.backend_data = json.loads(self.backend_data) or {} + if not isinstance(self.backend_data, dict): raise Exception("self.backend_data is not a dict (%r)" % self.backend_data) self.backend_data[key] = value