diff --git a/apps/profile/models.py b/apps/profile/models.py index f4fe4e741..b19543ec6 100644 --- a/apps/profile/models.py +++ b/apps/profile/models.py @@ -27,6 +27,7 @@ from utils import json_functions as json from utils.user_functions import generate_secret_token from vendor.timezones.fields import TimeZoneField from vendor.paypal.standard.ipn.signals import subscription_signup, payment_was_successful, recurring_payment +from vendor.paypal.standard.ipn.signals import payment_was_flagged from vendor.paypal.standard.ipn.models import PayPalIPN from vendor.paypalapi.interface import PayPalInterface from vendor.paypalapi.exceptions import PayPalAPIResponseError @@ -726,6 +727,20 @@ def paypal_payment_history_sync(sender, **kwargs): except: return {"code": -1, "message": "User doesn't exist."} payment_was_successful.connect(paypal_payment_history_sync) +print payment_was_successful.receivers + +def paypal_payment_was_flagged(sender, **kwargs): + ipn_obj = sender + try: + user = User.objects.get(username__iexact=ipn_obj.custom) + except User.DoesNotExist: + user = User.objects.get(email__iexact=ipn_obj.payer_email) + logging.user(user, "~BC~SB~FBPaypal subscription payment flagged") + try: + user.profile.setup_premium_history() + except: + return {"code": -1, "message": "User doesn't exist."} +payment_was_flagged.connect(paypal_payment_was_flagged) def paypal_recurring_payment_history_sync(sender, **kwargs): ipn_obj = sender diff --git a/settings.py b/settings.py index 6f6c72206..090ea5cd7 100644 --- a/settings.py +++ b/settings.py @@ -267,6 +267,7 @@ INSTALLED_APPS = ( 'django.contrib.admin', 'django_extensions', 'djcelery', + 'vendor.paypal.standard.ipn', 'apps.rss_feeds', 'apps.reader', 'apps.analyzer', @@ -285,7 +286,6 @@ INSTALLED_APPS = ( 'utils', 'vendor', 'vendor.typogrify', - 'vendor.paypal.standard.ipn', 'vendor.zebra', 'oauth2_provider', 'corsheaders',