Also handle ch_vat
This commit is contained in:
		
					parent
					
						
							
								908c2e055c
							
						
					
				
			
			
				commit
				
					
						4a40438edc
					
				
			
		
					 3 changed files with 13 additions and 7 deletions
				
			
		|  | @ -131,7 +131,7 @@ def check_otp(name, realm, token): | ||||||
|     return response.status_code |     return response.status_code | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def validate_vat_number(stripe_customer_id, vat_number): | def validate_vat_number(stripe_customer_id, vat_number, country): | ||||||
|     try: |     try: | ||||||
|         billing_address = BillingAddress.objects.get(vat_number=vat_number) |         billing_address = BillingAddress.objects.get(vat_number=vat_number) | ||||||
|     except BillingAddress.DoesNotExist as dne: |     except BillingAddress.DoesNotExist as dne: | ||||||
|  | @ -163,9 +163,13 @@ def validate_vat_number(stripe_customer_id, vat_number): | ||||||
|                         "validated_on": "" |                         "validated_on": "" | ||||||
|                     } |                     } | ||||||
|             else: |             else: | ||||||
|                 tax_id_obj = create_tax_id(stripe_customer_id, vat_number) |                 tax_id_obj = create_tax_id( | ||||||
|  |                     stripe_customer_id, vat_number, | ||||||
|  |                     "ch_vat" if country.lower() == "ch" else "eu_vat") | ||||||
|     else: |     else: | ||||||
|         tax_id_obj = create_tax_id(stripe_customer_id, vat_number) |         tax_id_obj = create_tax_id( | ||||||
|  |             stripe_customer_id, vat_number, | ||||||
|  |             "ch_vat" if country.lower() == "ch" else "eu_vat") | ||||||
| 
 | 
 | ||||||
|     if 'response_object' in tax_id_obj: |     if 'response_object' in tax_id_obj: | ||||||
|         return tax_id_obj |         return tax_id_obj | ||||||
|  | @ -176,11 +180,12 @@ def validate_vat_number(stripe_customer_id, vat_number): | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def create_tax_id(stripe_customer_id, vat_number): | def create_tax_id(stripe_customer_id, vat_number, type): | ||||||
|     stripe_utils = StripeUtils() |     stripe_utils = StripeUtils() | ||||||
|     tax_id_response = stripe_utils.create_tax_id_for_user( |     tax_id_response = stripe_utils.create_tax_id_for_user( | ||||||
|         stripe_customer_id, |         stripe_customer_id, | ||||||
|         vat_number=vat_number, |         vat_number=vat_number, | ||||||
|  |         type=type | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|     tax_id_obj = tax_id_response.get('response_object') |     tax_id_obj = tax_id_response.get('response_object') | ||||||
|  |  | ||||||
|  | @ -546,7 +546,8 @@ class PaymentOrderView(FormView): | ||||||
|             if vat_number: |             if vat_number: | ||||||
|                 validate_result = validate_vat_number( |                 validate_result = validate_vat_number( | ||||||
|                     stripe_customer_id=request.session['customer'], |                     stripe_customer_id=request.session['customer'], | ||||||
|                     vat_number=address_form.cleaned_data.get('vat_number') |                     vat_number=address_form.cleaned_data.get('vat_number'), | ||||||
|  |                     country=address_form.cleaned_data.get("country").strip() | ||||||
|                 ) |                 ) | ||||||
| 
 | 
 | ||||||
|                 if 'response_object' in validate_result: |                 if 'response_object' in validate_result: | ||||||
|  |  | ||||||
|  | @ -436,10 +436,10 @@ class StripeUtils(object): | ||||||
|         subscription.save() |         subscription.save() | ||||||
| 
 | 
 | ||||||
|     @handleStripeError |     @handleStripeError | ||||||
|     def create_tax_id_for_user(self, stripe_customer_id, vat_number): |     def create_tax_id_for_user(self, stripe_customer_id, vat_number, type="eu_vat"): | ||||||
|         tax_id_obj = stripe.Customer.create_tax_id( |         tax_id_obj = stripe.Customer.create_tax_id( | ||||||
|             stripe_customer_id, |             stripe_customer_id, | ||||||
|             type="eu_vat", |             type=type, | ||||||
|             value=vat_number, |             value=vat_number, | ||||||
|         ) |         ) | ||||||
|         return tax_id_obj |         return tax_id_obj | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue