Take billing_address_id in validate_vat_number
This commit is contained in:
		
					parent
					
						
							
								52201c0aa1
							
						
					
				
			
			
				commit
				
					
						0d208d2bd9
					
				
			
		
					 1 changed files with 14 additions and 10 deletions
				
			
		| 
						 | 
					@ -131,15 +131,15 @@ def check_otp(name, realm, token):
 | 
				
			||||||
    return response.status_code
 | 
					    return response.status_code
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def validate_vat_number(stripe_customer_id, vat_number, country):
 | 
					def validate_vat_number(stripe_customer_id, billing_address_id):
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        billing_address = BillingAddress.objects.get(vat_number=vat_number)
 | 
					        billing_address = BillingAddress.objects.get(billing_address_id)
 | 
				
			||||||
    except BillingAddress.DoesNotExist as dne:
 | 
					    except BillingAddress.DoesNotExist as dne:
 | 
				
			||||||
        billing_address = None
 | 
					        billing_address = None
 | 
				
			||||||
        logger.debug("BillingAddress does not exist for %s" % vat_number)
 | 
					        logger.debug("BillingAddress does not exist for %s" % billing_address_id)
 | 
				
			||||||
    except BillingAddress.MultipleObjectsReturned as mor:
 | 
					    except BillingAddress.MultipleObjectsReturned as mor:
 | 
				
			||||||
        logger.debug("Multiple BillingAddress exist for %s" % vat_number)
 | 
					        logger.debug("Multiple BillingAddress exist for %s" % billing_address_id)
 | 
				
			||||||
        billing_address = BillingAddress.objects.filter(vat_number=vat_number).order_by('-id').first()
 | 
					        billing_address = BillingAddress.objects.filter(billing_address_id).order_by('-id').first()
 | 
				
			||||||
    if billing_address is not None:
 | 
					    if billing_address is not None:
 | 
				
			||||||
        if billing_address.vat_number_validated_on:
 | 
					        if billing_address.vat_number_validated_on:
 | 
				
			||||||
            return {
 | 
					            return {
 | 
				
			||||||
| 
						 | 
					@ -153,6 +153,9 @@ def validate_vat_number(stripe_customer_id, vat_number, country):
 | 
				
			||||||
                  billing_address.stripe_tax_id,
 | 
					                  billing_address.stripe_tax_id,
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
                if tax_id_obj.verification.status == "verified":
 | 
					                if tax_id_obj.verification.status == "verified":
 | 
				
			||||||
 | 
					                    # update billing address
 | 
				
			||||||
 | 
					                    billing_address.vat_number_validated_on = datetime.datetime.now()
 | 
				
			||||||
 | 
					                    billing_address.save()
 | 
				
			||||||
                    return {
 | 
					                    return {
 | 
				
			||||||
                        "status": "verified",
 | 
					                        "status": "verified",
 | 
				
			||||||
                        "validated_on": billing_address.vat_number_validated_on
 | 
					                        "validated_on": billing_address.vat_number_validated_on
 | 
				
			||||||
| 
						 | 
					@ -164,12 +167,13 @@ def validate_vat_number(stripe_customer_id, vat_number, country):
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                tax_id_obj = create_tax_id(
 | 
					                tax_id_obj = create_tax_id(
 | 
				
			||||||
                    stripe_customer_id, vat_number,
 | 
					                    stripe_customer_id, billing_address.vat_number,
 | 
				
			||||||
                    "ch_vat" if country.lower() == "ch" else "eu_vat")
 | 
					                    "ch_vat" if billing_address.country.lower() == "ch" else "eu_vat")
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        tax_id_obj = create_tax_id(
 | 
					        return {
 | 
				
			||||||
            stripe_customer_id, vat_number,
 | 
					            "status": "invalid billing address",
 | 
				
			||||||
            "ch_vat" if country.lower() == "ch" else "eu_vat")
 | 
					            "validated_on": ""
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if 'response_object' in tax_id_obj:
 | 
					    if 'response_object' in tax_id_obj:
 | 
				
			||||||
        return tax_id_obj
 | 
					        return tax_id_obj
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue