Take billing_address_id in validate_vat_number

This commit is contained in:
PCoder 2019-12-26 10:50:53 +05:30
parent 52201c0aa1
commit 0d208d2bd9

View file

@ -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