#simlink_webhooks
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/1295679205031280662
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
hi @quartz storm
im just confused as to:
- does stripe-hosted checkout not handle 3ds payments on its own?
- if not, what do i need to do to handle these situations? ive scoured the docs and google but still not able to find clear direction
does stripe-hosted checkout not handle 3ds payments on its own?
it does, but that doesn't mean that the event won't be triggered
but this is not the first invoice
is it?
this is what you need to do https://docs.stripe.com/billing/subscriptions/webhooks#payment-failures for the payment failures when the 3DS happens for something other than the first invoice
yes its the first invoice
sorry I shared the wrong section of that doc
well, let me explain, a user attempted to sign up for a subscription, and complained that they werent able to sign up, and when we checked the dashboard we saw an invoice had been voided
it's this one that I meant to send https://docs.stripe.com/billing/subscriptions/webhooks#additional-action
and a transaction showed up with 3ds payment failed
it's technically your code that is voiding the invoice
so I'm not sure why or how, since I don't have access to your code
we dont handle this event, it just passes through, im pretty sure there's no way we're actually voiding the invoice ourselves
setting that aside, im confused,so when a 3ds verification is needed, it doesnt happen in the stripe-hosted checkout flow right? we need to do something on our end, because reading the docs above its still not clear to me what we need to do, or why the user gets the "a processing error ocurred"
you are actually voiding it yourself, and this is the request https://dashboard.stripe.com/logs/req_Pb6ddizwl15tTG
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
you know what, i think i might see what could be the void invoice culrpit
as an example
and yes it would be our code like you said
sorry about that
its not happening on that event, rather a different event ๐
const invoice = event.data.object;
const customerId = invoice.customer;
const subscriptionId = invoice.subscription;
const tenant = await this.tenantsService.findOne({
stripe_customer_id: customerId,
stripe_subscription_id: subscriptionId,
});
await stripe.invoices.voidInvoice(invoice.id);```
you need to listen to the invoice.* events instead of the payment_intent.* events
that's the correct event btw
ok so assuming i dont void the invoice, would the checkout flow handle the 3ds prompting on its own?
if a payment_intent.* event has a invoice ID on it, you shouldn't handle it
i actually dont handle payment_intent events at all
ok cool
so if i ignore those events and make sure im not accidentally voiding the invoice, would the checkout flow be able to handle the 3ds prompting?
for the first invoice I'm pretty sure it does
the problem lies in the handling of any future payment_failure in the future
oh
Hey, taking over here. Let me know if there's any follow-up Qs I can answer!
sure, nice to meet you @eternal ice
just wondering how to handle 3ds payments properly, we used stripe-hosted checkout to sign users up for subscription products, i think we've identified the potential issue thats causing our users problems for the initial signup (first invoice)
but not sure what happens in future payments, is 3ds even needed for subsequent charges on the same subscription?
oh i guess its possible if they update their payment method (we use the stripe-hosted billing portal as well for that)