From c3939023968b340093e9937703be33a18a90617a Mon Sep 17 00:00:00 2001
From: PCoder <purple.coder@yahoo.co.uk>
Date: Thu, 26 Dec 2019 10:54:26 +0530
Subject: [PATCH] Save address form in payment post itself

---
 datacenterlight/views.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/datacenterlight/views.py b/datacenterlight/views.py
index f3f07e43..3227992d 100644
--- a/datacenterlight/views.py
+++ b/datacenterlight/views.py
@@ -525,6 +525,8 @@ class PaymentOrderView(FormView):
                         token=token,
                         customer_name=user_name)
 
+            billing_address = address_form.save()
+            request.session["billing_address_id"] = billing_address.id
             request.session['billing_address_data'] = address_form.cleaned_data
             request.session['user'] = this_user
             # Get or create stripe customer
@@ -546,11 +548,10 @@ class PaymentOrderView(FormView):
             if vat_number:
                 validate_result = validate_vat_number(
                     stripe_customer_id=request.session['customer'],
-                    vat_number=address_form.cleaned_data.get('vat_number'),
-                    country=address_form.cleaned_data.get("country").strip()
+                    billing_address_id=billing_address.id
                 )
 
-                if 'response_object' in validate_result:
+                if 'error' in validate_result and validate_result['error']:
                     messages.add_message(
                         request, messages.ERROR, validate_result["error"],
                         extra_tags='vat_error'
@@ -558,7 +559,6 @@ class PaymentOrderView(FormView):
                     return HttpResponseRedirect(
                         reverse('datacenterlight:payment') + '#vat_error'
                     )
-
                 request.session["vat_validation_status"] = validate_result["status"]
                 request.session["vat_validated_on"] = validate_result["validated_on"]