Guest User

Untitled

a guest
Dec 16th, 2018
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. model:
  2. class Subscription(models.Model):
  3. user = models.ForeignKey(User)
  4. stripe_id = models.CharField(max_length=255)
  5. subscribed = models.BooleanField(default=False)
  6. created = models.DateTimeField(auto_now_add=True)
  7. updated = models.DateTimeField(auto_now=True)
  8. expires = models.DateTimeField(null=True, blank=True)
  9.  
  10. def save(self, *args, **kwargs):
  11. self.expires = datetime.datetime.now() + datetime.timedelta(365)
  12. super(Subscription, self).save(*args, **kwargs)
  13.  
  14.  
  15. view:
  16. @require_login
  17. def payment(request):
  18. context = {}
  19. if request.method == 'POST':
  20. token = request.POST['stripeToken']
  21. customer = stripe.Customer.create(
  22. description = request.POST['email'],
  23. card = token,
  24. plan = 'premium_annual',
  25. email = request.POST['email'],
  26. )
  27. subscription = Subscription(
  28. user=request.user,
  29. stripe_id=customer.id,
  30. subscribed=True,
  31. )
  32. try:
  33. if Subscription.objects.filter(user=request.user).exists():
  34. context['subscription'] = subscription
  35. else:
  36. subscription.save()
  37. #UserProfile.objects.get(user=request.user, is_premium=True).save()
  38. except IntegrityError:
  39. messages.error(request, "Subscription already exists.")
  40.  
  41. context['publishable'] = settings.STRIPE_PUBLISH
  42.  
  43. return HttpResponseRedirect("/activities/all/")
  44.  
  45. form = StripePaymentForm()
  46. if Subscription.objects.filter(user=request.user).exists():
  47. messages.error(request, "Subscription already exists.")
  48. return HttpResponseRedirect("/activities/all/")
  49.  
  50. context['form'] = form
  51. context['no_left_bar'] = True
  52. return render_to_response('signup/premium_payment.html', context, context_instance=RequestContext(request))
Add Comment
Please, Sign In to add comment