diff --git a/rowers/braintreestuff.py b/rowers/braintreestuff.py index 45f08c85..ad529751 100644 --- a/rowers/braintreestuff.py +++ b/rowers/braintreestuff.py @@ -26,7 +26,7 @@ import pandas as pd from rowsandall_app.settings import ( BRAINTREE_MERCHANT_ID,BRAINTREE_PUBLIC_KEY,BRAINTREE_PRIVATE_KEY, BRAINTREE_SANDBOX_MERCHANT_ID,BRAINTREE_SANDBOX_PUBLIC_KEY, - BRAINTREE_SANDBOX_PRIVATE_KEY + BRAINTREE_SANDBOX_PRIVATE_KEY, BRAINTREE_MERCHANT_ACCOUNT_ID ) if settings.DEBUG or 'dev' in settings.SITE_URL: @@ -240,8 +240,11 @@ def create_subscription(rower,data): nonce_from_the_client = data['payment_method_nonce'] nonce = gateway.payment_method_nonce.find(nonce_from_the_client) info = nonce.three_d_secure_info - if info is None or not info.liability_shifted: - return False,0 + paymenttype = nonce.type + + if nonce.type != 'PayPalAccount': + if info is None or not info.liability_shifted: + return False,0 amount = data['amount'] planid = data['plan'] @@ -261,7 +264,8 @@ def create_subscription(rower,data): result = gateway.subscription.create({ "payment_method_token": payment_method_token, - "plan_id": plan.external_id + "plan_id": plan.external_id, +# "merchant_account_id": BRAINTREE_MERCHANT_ACCOUNT_ID, }) diff --git a/rowers/forms.py b/rowers/forms.py index 0be90550..18434a88 100644 --- a/rowers/forms.py +++ b/rowers/forms.py @@ -57,6 +57,7 @@ class BillingForm(forms.Form): max_digits=8) plan = forms.IntegerField(widget=forms.HiddenInput()) payment_method_nonce = forms.CharField(max_length=255,required=True) + paymenttype = forms.CharField(max_length=255,required=True) tac= forms.BooleanField(required=True,initial=False) diff --git a/rowers/templates/braintreedropin.html b/rowers/templates/braintreedropin.html index c7d1247c..a7c1595b 100644 --- a/rowers/templates/braintreedropin.html +++ b/rowers/templates/braintreedropin.html @@ -33,7 +33,8 @@ return; } if (payload.liabilityShifted || payload.type !== 'CreditCard') { - document.querySelector('#nonce').value = payload.nonce; + document.querySelector('#nonce').value = payload.nonce; + document.querySelector('#paymenttype').value = payload.type; hiddenNonceInput.value = payload.nonce; form.submit(); } else { diff --git a/rowers/templates/paymentconfirm.html b/rowers/templates/paymentconfirm.html index 77785ed1..95caaf0f 100644 --- a/rowers/templates/paymentconfirm.html +++ b/rowers/templates/paymentconfirm.html @@ -97,6 +97,7 @@ +

I have taken note of the diff --git a/rowers/templates/upgradeconfirm.html b/rowers/templates/upgradeconfirm.html index ae2cf183..c775e2b5 100644 --- a/rowers/templates/upgradeconfirm.html +++ b/rowers/templates/upgradeconfirm.html @@ -95,6 +95,7 @@

+

I have taken note of the diff --git a/rowers/tests/test_payments.py b/rowers/tests/test_payments.py index 0c14d696..cc23d5e0 100644 --- a/rowers/tests/test_payments.py +++ b/rowers/tests/test_payments.py @@ -372,6 +372,7 @@ class PaymentTest(TestCase): 'plan': plans[1].id, 'payment_method_nonce': 'aap', 'tac':'tac', + 'paymenttype': 'CreditCard' } form = BillingForm(form_data) @@ -416,6 +417,7 @@ class PaymentTest(TestCase): 'amount':'15.00', 'plan': plans[1].id, 'payment_method_nonce': 'aap', + 'paymenttype': 'CreditCard', 'tac':'tac', } @@ -460,6 +462,7 @@ class PaymentTest(TestCase): 'amount':'15.00', 'plan': plans[1].id, 'payment_method_nonce': 'aap', + 'paymenttype': 'CreditCard', 'tac':'tac', } @@ -504,6 +507,7 @@ class PaymentTest(TestCase): 'amount':'15.00', 'plan': plans[1].id, 'payment_method_nonce': 'aap', + 'paymenttype': 'CreditCard', 'tac':True, } @@ -553,6 +557,7 @@ class PaymentTest(TestCase): 'amount':'15.00', 'plan': plans[1].id, 'payment_method_nonce': 'aap', + 'paymenttype': 'CreditCard', 'tac':True, } @@ -597,6 +602,7 @@ class PaymentTest(TestCase): 'amount':'15.00', 'plan': plans[1].id, 'payment_method_nonce': 'aap', + 'paymenttype': 'CreditCard', 'tac':True, } diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index 580b5534..9676956f 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/rowers/views/paymentviews.py b/rowers/views/paymentviews.py index 79c52ca1..34a1f133 100644 --- a/rowers/views/paymentviews.py +++ b/rowers/views/paymentviews.py @@ -390,7 +390,6 @@ def upgrade_checkouts_view(request): url = reverse('billing_view') return HttpResponseRedirect(url) else: - print('noot',form) messages.error(request,"There was an error in the payment form") url = reverse(upgrade_view) return HttpResponseRedirect(url) diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 3a9a537c..02616365 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -447,6 +447,11 @@ try: except KeyError: BRAINTREE_MERCHANT_ID = '' +try: + BRAINTREE_MERCHANT_ACCOUNT_ID = CFG['braintree_merchant_account_id'] +except KeyError: + BRAINTREE_MERCHANT_ACCOUNT_ID = 'rowsandallEUR' + try: BRAINTREE_PUBLIC_KEY = CFG['braintree_public_key'] except KeyError: