How can we get VAT validation status thru API?


When I create a subscription for a new customer (subscription.create), if the VAT validation fails, the process is canceled, that's good. 

But, once the subscription is set and a user's billing info for the subscription is updated (subscription.update or customer.update_billing_info), we don't have any VAT status returned. 

Is there a way to get the customer's location validation status? (thru estimate or customer?)

Thank you!

Hi Alexandre

Sorry for the delay in responding!

The VAT validation does happen when the customer/subscription is created/updated with the VAT number. When you try to update an existing subscription with an incorrect VAT number, it will return an error stating invalid VAT number and the operation will fail. The same happens even in the case of location validation.

Is this not happening at your end? Can you share the customer ID and the VAT number you tried to update?

Sorry for the delay

The VAT number validation is working well. I didn't specified (my fault) but I was talking about location validation (with the 2 evidences).  I'm using Chargebee with one-time charges (thru addons) and the validation is happening when we process the charge. It could be useful to get the location validation at the consumer level to avoid useless api calls. 

I've looked into the docs but couldn't found the answer. How do you process the IP evidence thru the API? I'm using the chargebee-request-origin-ip header but if I set the customer country to FR and use an US card, even if a send this header with a FR ip (billing update, charge), the location validation fails when the charge occurs. Do you know how can I proceed?

Thanks a lot!

Hi Alexandre

Location validation is carried out while adding a card for the first time and also when the card is updated. Chargebee validates the location by matching the Country from the billing address of the customer with either:


"Country of the IP Address of the customer" 


"Country determined by the Card BIN of the customer"

Here's more information on location validation within Chargebee.

If there is an IP mismatch, you would need to use the Update a subscription API and pass the correct IP address using the parameter card[ip_address]. If there's a mismatch in the Credit card BIN and the country of the user, you could either update that from the customer information section in Chargebee web interface or pass the correct information using update subscription API call.

Is this what you're looking for?

1 person likes this
Login or Signup to post a comment