Improve stripe_customer_id
This commit is contained in:
parent
5ab0bf6993
commit
6d0a7f7049
2 changed files with 15 additions and 10 deletions
|
@ -226,7 +226,7 @@ def create_tax_id(stripe_customer_id, billing_address_id, type,
|
||||||
logger.debug("Multiple BillingAddress exist for %s" % billing_address_id)
|
logger.debug("Multiple BillingAddress exist for %s" % billing_address_id)
|
||||||
billing_address = BillingAddress.objects.filter(billing_address_id).order_by('-id').first()
|
billing_address = BillingAddress.objects.filter(billing_address_id).order_by('-id').first()
|
||||||
stripe_utils = StripeUtils()
|
stripe_utils = StripeUtils()
|
||||||
tax_id_response = stripe_utils.create_tax_id_for_user(
|
tax_id_response = stripe_utils.get_or_create_tax_id_for_user(
|
||||||
stripe_customer_id,
|
stripe_customer_id,
|
||||||
vat_number=billing_address.vat_number,
|
vat_number=billing_address.vat_number,
|
||||||
type=type
|
type=type
|
||||||
|
|
|
@ -436,14 +436,19 @@ class StripeUtils(object):
|
||||||
subscription.save()
|
subscription.save()
|
||||||
|
|
||||||
@handleStripeError
|
@handleStripeError
|
||||||
def create_tax_id_for_user(self, stripe_customer_id, vat_number, type="eu_vat"):
|
def get_or_create_tax_id_for_user(self, stripe_customer_id, vat_number, type="eu_vat"):
|
||||||
tax_id_obj = stripe.Customer.retrieve(
|
tax_ids_list = stripe.Customer.list_tax_ids(
|
||||||
stripe_customer_id,type=type, value=vat_number
|
stripe_customer_id,
|
||||||
|
limit=100,
|
||||||
|
)
|
||||||
|
for tax_id_obj in tax_ids_list.data:
|
||||||
|
if tax_id_obj.value == vat_number:
|
||||||
|
logger.debug("tax id obj exists already")
|
||||||
|
return tax_id_obj
|
||||||
|
logger.debug("tax id obj does not exist. Creating a new one")
|
||||||
|
tax_id_obj = stripe.Customer.create_tax_id(
|
||||||
|
stripe_customer_id,
|
||||||
|
type=type,
|
||||||
|
value=vat_number,
|
||||||
)
|
)
|
||||||
if tax_id_obj["response_object"]["error"]:
|
|
||||||
tax_id_obj = stripe.Customer.create_tax_id(
|
|
||||||
stripe_customer_id,
|
|
||||||
type=type,
|
|
||||||
value=vat_number,
|
|
||||||
)
|
|
||||||
return tax_id_obj
|
return tax_id_obj
|
||||||
|
|
Loading…
Reference in a new issue