diff --git a/rowers/braintreestuff.py b/rowers/braintreestuff.py index a7372f93..c3da9330 100644 --- a/rowers/braintreestuff.py +++ b/rowers/braintreestuff.py @@ -174,7 +174,7 @@ def update_subscription(rower,data,method='up'): result.subscription.billing_period_end_date.strftime('%Y-%m-%d'), method) - return True + return True,amount else: errors = result.errors.for_object("subscription") codes = [str(e.code) for e in errors] @@ -187,9 +187,9 @@ def update_subscription(rower,data,method='up'): if create_new: return create_subscription(rower,data) - return False + return False,0 - return False + return False,0 def create_subscription(rower,data): @@ -207,7 +207,7 @@ def create_subscription(rower,data): if result.is_success: payment_method_token = result.payment_method.token else: - return False + return False,0 result = gateway.subscription.create({ "payment_method_token": payment_method_token, @@ -241,12 +241,12 @@ def create_subscription(rower,data): plan.price, result.subscription.billing_period_end_date.strftime('%Y-%m-%d') ) - return True + return True,plan.price else: - return False + return False,0 - return False + return False,0 def cancel_subscription(rower,id): themessages = [] diff --git a/rowers/templates/billing.html b/rowers/templates/billing.html index bf4a358f..1d16238a 100644 --- a/rowers/templates/billing.html +++ b/rowers/templates/billing.html @@ -16,7 +16,13 @@
  • Choose your Plan

    - + +

    Unless specified otherwise, the payments on the + recurring payment plans are annual. The prices are specified + as a price per year. +

    + +
    {{ planselectform.as_table }}
  • diff --git a/rowers/templates/downgrade_completed.html b/rowers/templates/downgrade_completed.html index 1fdde09b..4ede1451 100644 --- a/rowers/templates/downgrade_completed.html +++ b/rowers/templates/downgrade_completed.html @@ -7,7 +7,7 @@

    Thank you for changing to {{ user.rower.paidplan.name }}. You're all settled. - membership. + You will receive an email confirming the transaction.

    diff --git a/rowers/templates/downgradeconfirm.html b/rowers/templates/downgradeconfirm.html index f6dea839..9bb0aee0 100644 --- a/rowers/templates/downgradeconfirm.html +++ b/rowers/templates/downgradeconfirm.html @@ -78,7 +78,11 @@

  • - Your downgrade will be effective immediately. You will not be charged. + Your downgrade will be effective immediately. + We need your payment method to process the downgrade. + If the selected + new plan has a lower price than your current plan, your payment method + will not be charged.

  • diff --git a/rowers/templates/paidplans.html b/rowers/templates/paidplans.html index bef6da0c..4550c0d7 100644 --- a/rowers/templates/paidplans.html +++ b/rowers/templates/paidplans.html @@ -39,13 +39,6 @@ ✔ ✔ - - Automatic Synchronization with other fitness sites -   - ✔ - ✔ - ✔ - Heart rate and power zones ✔ @@ -60,6 +53,13 @@ ✔ ✔ + + Automatic Synchronization with other fitness sites +   + ✔ + ✔ + ✔ + Advanced Analysis (Critical Power, Stats, Box Chart, Trend Flex)   @@ -272,9 +272,6 @@

    Coach and Self-Coach Membership

    -

    The Coach plan functionality listed is available to the coach only. Individual athletes - can purchase upgrades to "Pro" and "Self-Coach" plans. -

    Rowsandall.com's Training Planning functionality is part of the paid "Self-Coach" and "Coach" plans.

    @@ -286,6 +283,11 @@ athletes.

    +

    The Coach plan functionality listed is available to the coach only. + Individual athletes + can purchase upgrades to "Pro" and "Self-Coach" plans. +

    +

    If you would like to find a coach who helps you plan your training through rowsandall.com, contact me throught the contact form.

    diff --git a/rowers/templates/payment_completed.html b/rowers/templates/payment_completed.html index b29fbaea..45c02d84 100644 --- a/rowers/templates/payment_completed.html +++ b/rowers/templates/payment_completed.html @@ -7,7 +7,8 @@

    Thank you for registering to {{ user.rower.paidplan.name }}. You have paid for 12 months - membership. + membership. You were charged {{ amount }} € You will receive an email + confirming the payment

    diff --git a/rowers/templates/subscriptions_cancel.html b/rowers/templates/subscriptions_cancel.html index 2419c07b..b93b2522 100644 --- a/rowers/templates/subscriptions_cancel.html +++ b/rowers/templates/subscriptions_cancel.html @@ -45,7 +45,9 @@

    By clicking on the link to stop the plan, you will downgrade to the Basic plan. - Future payments will be stopped. + Future payments will be stopped. Warning: You will not receive a refund. + If you wanted to downgrade (and receive a credit for the price + difference), click here: Downgrade.

    {% else %}

    @@ -53,7 +55,7 @@ from the site.

    - If you have paid through PayPal, log in to your PayPal account and cancel the recurring payment + If you have paid through PayPal, log in to your PayPal account and cancel any recurring payment there. We will manually downgrade your subscription.

    diff --git a/rowers/templates/upgrade.html b/rowers/templates/upgrade.html index 42b04f13..9f21c889 100644 --- a/rowers/templates/upgrade.html +++ b/rowers/templates/upgrade.html @@ -17,6 +17,12 @@

  • Choose your Plan

    + +

    Unless specified otherwise, the payments on the + recurring payment plans are annual. The prices are specified + as a price per year. +

    + {{ planselectform.as_table }}
    diff --git a/rowers/views.py b/rowers/views.py index 1521014e..4cd13953 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -1376,10 +1376,12 @@ def checkouts_view(request): form = BillingForm(request.POST) if form.is_valid(): data = form.cleaned_data - success = braintreestuff.create_subscription(r,data) + success,amount = braintreestuff.create_subscription(r,data) if success: messages.info(request,"Your payment has succeeded and your plan has been updated") - url = reverse(payment_completed_view) + url = "{baseurl}?amount={amount:.2f}".format( + baseurl = reverse(payment_completed_view), + amount = amount) return HttpResponseRedirect(url) else: messages.error(request,"There was a problem with your payment") @@ -1410,10 +1412,12 @@ def upgrade_checkouts_view(request): form = BillingForm(request.POST) if form.is_valid(): data = form.cleaned_data - success = braintreestuff.update_subscription(r,data) + success,amount = braintreestuff.update_subscription(r,data) if success: messages.info(request,"Your payment has succeeded and your plan has been updated") - url = reverse(payment_completed_view) + url = "{baseurl}?amount={amount:.2f}".format( + baseurl = reverse(payment_completed_view), + amount = amount) return HttpResponseRedirect(url) else: messages.error(request,"There was a problem with your payment") @@ -1468,13 +1472,17 @@ def payment_completed_view(request): if not PAYMENT_PROCESSING_ON: url = reverse('promembership') return HttpResponseRedirect(url) + + amount = request.GET.get('amount',0) + r = getrequestrower(request) return render(request, "payment_completed.html", { - 'rower':r + 'rower':r, + 'amount':amount, }) @login_required()