#thomas-b-stripe-tax
1 messages ยท Page 1 of 1 (latest)
Checkout handles that for you for new customers with the billing/shipping address collection:
https://stripe.com/docs/payments/checkout/taxes#new-customers
You only need to check this for existing customers where you intend to use an existing billing address, which you can do before creating/redirecting to the session:
https://stripe.com/docs/payments/checkout/taxes#existing-customers
Awesome! Thank you for replying - I have already gone through all of that, both for new customers but also existing ones, by enabling auto for customer updates alongside with automatic tax. ๐
But does that really mean that I do not have to do ANYTHING more other than adding these follow lines in regards to Tax stuff (tax collection and tax id handling for business customers):
tax_id_collection: { enabled: true }, customer_update: { address: 'auto', name: 'auto' }```
No manual validation ever or anything?
Really sounds too good to be true with all the stuff we had to do before Stripe Tax haha. ๐
๐ that really is it
the whole point is to make this easy ๐
the only trickier case is using those existing billing address without further checkout collection for existing customer, which might require you to complete the info
That is honestly an amazing improvement compared to what we had to do before with dynamic tax rates and handling the tax id's and tax statuses and so on and so on! hehe ๐ awesome!
Also a bit confused about what you mean by this? ๐
- I have
billing_address_collection: 'required'on my checkout session, so I guess there should always be a billing address that Stripe Tax can checkup against? ๐
Yep, that's fine, it will use the billing address collected
https://stripe.com/docs/payments/checkout/taxes?tax-calculation=stripe-tax#use-addresses-collected-during-checkout-for-taxes
(i missed that you had customer update address auto on too)
Awesome, then it handles that automagically also it sounds like! ๐
Last question about validation.. Tax ID stuff this time.
In regards to the Tax ID collection for businesses and such.. The validation mentioned here which seems to be something us devs still have to do manually. With this, I would again guess that I have no chance to validate/confirm any of this before any payment is done with 0% reverse charge tax for example.
https://stripe.com/docs/tax/checkout/tax-ids#validation
- Do you know of any way to handle this properly? I feel like I have no chance to actually do anything about it if a person really do want to cheat with these informations and just write some random business tax id in?
You need to validate this information. If you need some time to do that, you might want to use manual capture to defer capturing the payment until after your checks (if your payment method supports it).
https://stripe.com/docs/payments/capture-later
Otherwise you would withhold any fulfillment until you complete your checks and refund when needed.
I do not seem to be able to figure/understand how I would be able to do this with a hosted checkout session?
The first place they ever do anything with their Tax ID information is on that checkout page itself. They then click pay and everything is over, before me validating that their billing address matches their Tax ID address, right?
To defer capture with checkout, you'll create the session with payment_intent_data[capture_method]=manual:
https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-capture_method
then, after you get the session completed event you do your verification before /capture-ing the payment intent:
https://stripe.com/docs/api/payment_intents/capture
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Thank you for pointing me in the right direction! I will look it through when I get the time, and get back! ๐