From 026396470572dd34d37ec8f1c07f1161ac54db5f Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Tue, 3 Oct 2017 21:04:25 +0530 Subject: [PATCH 1/3] stripe_id used instead of id --- hosting/views.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/hosting/views.py b/hosting/views.py index 6d4f15ca..1cd29532 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -638,7 +638,7 @@ class PaymentVMView(LoginRequiredMixin, FormView): request.session['billing_address_data'] = billing_address_data request.session['token'] = token - request.session['customer'] = customer.id + request.session['customer'] = customer.stripe_id return HttpResponseRedirect("{url}?{query_params}".format( url=reverse('hosting:order-confirmation'), query_params='page=payment')) @@ -663,16 +663,12 @@ class OrdersHostingDetailView(LoginRequiredMixin, context = super(DetailView, self).get_context_data(**kwargs) obj = self.get_object() owner = self.request.user - stripe_customer_id = self.request.session.get('customer') - customer = StripeCustomer.objects.filter(id=stripe_customer_id).first() + stripe_api_cus_id = self.request.session.get('customer') stripe_utils = StripeUtils() - if customer: - card_details = stripe_utils.get_card_details( - customer.stripe_id, - self.request.session.get('token') - ) - else: - card_details = {} + card_details = stripe_utils.get_card_details( + stripe_api_cus_id, + self.request.session.get('token') + ) if self.request.GET.get('page') == 'payment': context['page_header_text'] = _('Confirm Order') From 315ce92a78e1e63f473eedacc4d5ec389f91f0b2 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Tue, 3 Oct 2017 21:24:35 +0530 Subject: [PATCH 2/3] post request attributes changed --- hosting/views.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hosting/views.py b/hosting/views.py index 1cd29532..f6a64ad3 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -747,13 +747,12 @@ class OrdersHostingDetailView(LoginRequiredMixin, template = request.session.get('template') specs = request.session.get('specs') stripe_customer_id = request.session.get('customer') - customer = StripeCustomer.objects.filter(id=stripe_customer_id).first() billing_address_data = request.session.get('billing_address_data') vm_template_id = template.get('id', 1) - + stripe_api_cus_id = self.request.session.get('customer') # Make stripe charge to a customer stripe_utils = StripeUtils() - card_details = stripe_utils.get_card_details(customer.stripe_id, + card_details = stripe_utils.get_card_details(stripe_api_cus_id, request.session.get( 'token')) if not card_details.get('response_object'): @@ -780,7 +779,7 @@ class OrdersHostingDetailView(LoginRequiredMixin, name=plan_name, stripe_plan_id=stripe_plan_id) subscription_result = stripe_utils.subscribe_customer_to_plan( - customer.stripe_id, + stripe_api_cus_id, [{"plan": stripe_plan.get( 'response_object').stripe_plan_id}]) stripe_subscription_obj = subscription_result.get('response_object') From c410e2cbc5fe889e606f5d88eb1389c65025ef21 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Tue, 3 Oct 2017 21:35:08 +0530 Subject: [PATCH 3/3] stripe_customer_id retrieved from request.user relation --- hosting/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hosting/views.py b/hosting/views.py index f6a64ad3..f0afb0c8 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -746,7 +746,9 @@ class OrdersHostingDetailView(LoginRequiredMixin, def post(self, request): template = request.session.get('template') specs = request.session.get('specs') - stripe_customer_id = request.session.get('customer') + # We assume that if the user is here, his/her StripeCustomer + # object already exists + stripe_customer_id = request.user.stripecustomer.id billing_address_data = request.session.get('billing_address_data') vm_template_id = template.get('id', 1) stripe_api_cus_id = self.request.session.get('customer')