#sparkle_checkout-taxdetails
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1441485786896797696
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
๐ Hi, looking into this for you!
Do you know if the tax rate applied is consistent across all line items? Or is there potential for variability here?
Looks like we have this expandable property on the Checkout Session
https://docs.stripe.com/api/checkout/sessions/object#checkout_session_object-line_items-data-taxes
Thanks! Do you know what the command for the stripe cli would be? I tried:
But it didn't recognize the payment intent flag.
You would have to pass in a checkout session id.
If you only have the Payment Intent id, you can list checkout sessions filtering by PI
https://docs.stripe.com/api/checkout/sessions/list
then once you have the checkout session id you can pass that to the call to retrieve the checkout session.
sparkle_checkout-taxdetails
You'll also need to make sure you expand the line_items property.
stripe checkout sessions retrieve '{{SESSION_ID}}' \ -d "expand[0]"=line_items
I tried this:
stripe checkout sessions retrieve 'cs_test_b1n1YajRzbq1bckPGYbc8eZHzHp730QzA2eMleuEQXs2KNxAmwrHIRG1qp' -d "expand[0]"=line_items
But I got an error:
{
"error": {
"message": "Invalid string: 'cs_...1qp'; must be at most 66 characters",
"param": "session",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_5ocPymUfGbMjSL?t=1763749173",
"type": "invalid_request_error"
}
}
I think cs_test_b1n1YajRzbq1bckPGYbc8eZHzHp730QzA2eMleuEQXs2KNxAmwrHIRG1qp is my checkout session id?
This is the related event:
evt_1SVy9H87EYReyaUxyh9ofrcZ
there's no reason to wrap in quotes
My advice: move away from the CLI and write real code. It is much faster
You created that Checkout Session in python so you already have an environment with that SDK. Just use python to retrieve the Checkout Session and inspect what you need
Thank you!
In terms of best practice, how should my platform handle collecting and refunding sales tax?
Here is my setup:
- Marketplace platform where sellers and buyers make purchases.
- Direct charges are used only, application takes a fee
- Platform must receive sales tax from buyer's transaction to seller, in addition to the application fee.
- Sellers are linked to the platform via their own standard connected account
- Any refunds, disputes from the buyer will be responsibility of the seller (but this also means sales tax refunds must come out of the seller's account when doing a refund).
The problem:
Because it is a marketplace platform, I'm required to calculate and submit sales tax to whichever state the buyer lives in. How can I collect this sales tax from from the seller after a successful transaction? Because my platform only takes an application fee.
- Can I add the sales tax to the application fee? Or do I need to do a separate transfer from seller->platform with the sales tax fee amount stated in the checkout session with expanded line item tax info?
Similarly, how should I handle refunding the sales tax if a seller would like to refund items from an order, if my platform holds the sales tax money? Should I do a separate transfer from platform->seller for the sales tax amount, and then have the seller do a refund for the item(s) + sales tax from their Stripe dashboard (since each seller is responsible for refunds/disputes on their standard connected account)
I don't really understand why you, the platform, would collect sales tax, that doesn't really click for me unfortunately.
I can talk about code but I can't talk about accounting/tax reporting/compliance
ah ok. In that case can I ask this:
I think my platform is required by law to collect sales tax on behalf of sellers because it is considered a marketplace.
If my platform has set up Stripe Tax registration on my platform's stripe account to calculate sales tax, and the seller has also set up their tax registration in their own connected account, can I invalidate the seller's tax registration via the stripe api? Something like:
"taxreg_123abc",
expires_at="now",
stripe_account=seller_account_id
)```
Because I only want the tax calculation to be done and remitted using my platform's tax permit and NOT the seller's tax registration permit?
I think my platform is required by law to collect sales tax on behalf of sellers because it is considered a marketplace.
this doesn't make sense to me. I could be wrong, but I would expect each business to handle their own tax if you use Standard accounts + Direct Charges