#zejun

1 messages · Page 1 of 1 (latest)

austere graniteBOT
glass ridge
#

Hi there, they are different.

hallow yacht
#

so when a customer is created without an address(address is null), and then this user adds a payment method(a visa card) with address, those addresses are not linked?

#

I was hoping that I can get the address directly via the get customer API

glass ridge
#

No, they are not related. The address that you set to a payement_method's billing_details's address is commonly known as the billing address, which can be different from a customer's address.

hallow yacht
#

So what's the address of a Customer object used for?

#

I think the customer has another field shipping already?

glass ridge
#

The customer's address will be used for automatic tax calculation. In addition, some local regulation requires a customer address for payment. For example, if you are Indian merchant and you want to accept International payment, you need to set an address for the customer.

hallow yacht
#

So the address field of a customer isn't the address of this customer?

#

it's the address of whoever the customer is doing business with?

glass ridge
#

It's the address of a customer

hallow yacht
#

but then there are 3 addresses fields and they're all different.

glass ridge
#

They are use for different purpose

#
  • customer's address is used for tax calculation, and sometimes mandatory based on local regulation (e.g., India), it's also the billing address that appears in invoices and credit notes
  • customer's shipping address is to record the destination of the product that you want to ship to, it can also be used for tax calculation
  • payment_method's billing_details address is the billing address of the payment_method
hallow yacht
#

so if there's no legal requirement, there's no need to set the address field for a customer, right?

#

it'll just be null, and if we need to ship something we should use shipping

#

and for billing we use this address associated with the payment method via GET payment_methods/:id

#

am I understanding this right?

glass ridge
#

I'd like to make a correction here, the address of the customer is the billing address

hallow yacht
#

hmmm..

#

So technically when the customer has a payment method, this address should be updated?

#

on your end?

#

like at the beginning the customer does not have an address, this field is null, and then one day this customer decides to add a payment method and associate address with it, it should be updated and sync'd with the address field in the customer object then

glass ridge
#

No, the payemnt_method's billing_detail's address won't be updated to customer's address automatically.

#

A customer can have many payment_method, and each payment_method can has it's own billing_details address.

#

Let me give you an example.

hallow yacht
#

I can see that, so the address of a customer should be set when we're certain that that address will be the only billing address of this customer?

#

or like the default billing address?

glass ridge
#

The customer is using a corporate credit card for a a payment, the payment_method's billing_details address should be the corporate's address, not the customer's address.

#

The customer can still have his/her own billing address, which can be different from the corporate address.

hallow yacht
#

If there's no corporation, just individuals that use their own credit cards, that address is their billing address?

#

I mean in a situation where they only add one payment method

glass ridge
#

For individual the home address is most likely the billing address.

hallow yacht
#

that's what I'm asking

#

I don't know when we should use the address

#

like when do we set that value

#

from your explanation, it seems like it's a quite useless field

glass ridge
#

Maybe I didn't explain it well but it's an important field.

#

A customer's address is displayed in invoices, receipts - a common requirement for tax compliance.

hallow yacht
#

yes, there are 2 situations:

  1. The scenario you mentioned, if a customer uses a corporate email address then the address field can be his/her own address, but the problem is if we want to send invoice, in this case the customer is a company, so obviously we're not going to use this address field in the customer object, instead we'll be using the address of the corporate credit card?
  2. The customer is not a corporate and pays with his/her own credit card, since the customer pays with his/her own card, the card already has his/her billing address, we can just use that one, and if this customer has multiple cards, we actually should use the address of the credit card.
    For both scenarios, there's no need to access this field?
#

Is the only use case for this field is the legal requirement?

glass ridge
#

Your assumption here is the addresses are alway related. There're also cases where the addresses are totally not related. For instance, the customer uses his/her friend's card and the friend has a different address.

hallow yacht
#

so for billing, we should always use the address of the payment methods?

glass ridge
#

Are you talking about the customer's address or the payment_method's billing_details address?

hallow yacht
#

customer's address

glass ridge
#

Not necessary. The customer's address is more for tax compliance and local regulation. Whereas the payment_method's billing_details address should match with the bank record (for example it should match the address the customer provided to bank when signing up a credit card).

#

So for example. A customer signed up a credit card with an old address, and now he/she moved to a new place.

#

The customer's address should be the new address, and the payment_method's billing_details address is still the old address if the customer hasn't update his/her particulars with the bank

hallow yacht
#

in that case if the customer does not proactively tell us, we won't be able to know that, though.

#

So here's the problem, our system collects customer's address only via them adding their credit cards, that's the ONLY place where we can get their address, and obviously we're using the payment method api to register the payment method and the address. We're not updating the customer's address, from the conversation with you, I think in my case there's no need to update the customer address(address field in the Customer object)?

#

We're doing automatic charge per month using their default payment method, and for the billing address I think we should directly get the address from using the payment method API?

glass ridge
#

Hm, you don't want to update the customer's address or you don't know how to update?

hallow yacht
#

no, that's not the problem

#

The problem is: in my situation, do I want to update the customer's address?

#

please read the question

#

From my understanding I think there's no need to update, I'm just asking you to see if I'm misunderstanding anything or not.

glass ridge
#

My advise is to update the customer's address, but it's entirely up to you.

hallow yacht
#

any reason for doing that other than it's convenient?

glass ridge
#

As I explained earlier, for tax compliance and local regulation purpose.

hallow yacht
#

isn't the tax calculation automatic?

#

another question is if we leave the customer address blank, are there any other concerns that I should be aware of?

glass ridge
#

I'm not aware of anything else rather than tax compliance and local regulation

hallow yacht
#

it's still pretty confusing

#

The customer has a shipping address, and then the customer can have payment methods, each payment methods also has billing address already.

#

And there's this address field in the Customer object, you're emphasizing it's important, but I just can't see why it's important.

#

If we want to send billing stuff we can use the billing address, if we want to ship something we use the shipping address, isn't the shipping address also used for tax compliance?

glass ridge
#

When an invoice or receipt is to be generated, Stripe will take the information from the customer's address and display it in invoice and receipt. Stripe will not use the billing_details address for invoice or receipt.