Handle failed credit cards.
parent
7e84601d13
commit
d464660495
|
@ -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>
|
||||
|
|
15
views.py
15
views.py
|
@ -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):
|
||||
|
||||
|
|
Loading…
Reference in New Issue