Handle failed credit cards.

master
Nick Sergeant 2014-04-24 09:38:48 -04:00
parent 7e84601d13
commit d464660495
2 changed files with 11 additions and 9 deletions

View File

@ -26,6 +26,11 @@
<div class="pro-hero">
snip<span>t</span> <span class="pro">Pro</span>
</div>
{% if request.GET.declined %}
<div class="alert alert-error" style="margin: 30px;">
<strong>Your card was declined.</strong> You have not been charged. Please try again.
</div>
{% endif %}
<div class="static-box">
<form class="form-horizontal" id="pro-signup" method="post" action="/pro/signup/complete/">
<fieldset>

View File

@ -56,7 +56,6 @@ def homepage(request):
'users_count': User.objects.all().count(),
}
@ajax_request
def lexers(request):
lexers = get_lexers_list()
@ -83,14 +82,12 @@ def lexers(request):
return {'objects': objects}
def login_redirect(request):
if request.user.is_authenticated():
return HttpResponseRedirect('/' + request.user.username + '/')
else:
return HttpResponseRedirect('/')
@login_required
@render_to('pro-signup.html')
def pro_signup(request):
@ -98,7 +95,6 @@ def pro_signup(request):
return HttpResponseRedirect('/' + request.user.username + '/')
return {}
@login_required
@render_to('pro-signup-complete.html')
def pro_signup_complete(request):
@ -110,9 +106,12 @@ def pro_signup_complete(request):
plan = 'snipt-pro-monthly'
customer = stripe.Customer.create(card=token,
plan=plan,
email=request.user.email)
try:
customer = stripe.Customer.create(card=token,
plan=plan,
email=request.user.email)
except stripe.CardError:
return HttpResponseRedirect('/pro/signup/?declined=true')
profile = request.user.profile
profile.is_pro = True
@ -124,7 +123,6 @@ def pro_signup_complete(request):
else:
return HttpResponseBadRequest()
def sitemap(request):
tags = Tag.objects.filter(snipt__public=True)
@ -136,7 +134,6 @@ def sitemap(request):
context_instance=RequestContext(request),
mimetype='application/xml')
@render_to('tags.html')
def tags(request):