#simlink_webhooks

1 messages ยท Page 1 of 1 (latest)

true yewBOT
#

๐Ÿ‘‹ 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.

quartz storm
#

๐Ÿ‘‹ happy to help

#

yes this is normal and expected

blissful lodge
#

hi @quartz storm

#

im just confused as to:

  1. does stripe-hosted checkout not handle 3ds payments on its own?
  2. 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
quartz storm
#

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?

blissful lodge
#

yes its the first invoice

quartz storm
#

sorry I shared the wrong section of that doc

blissful lodge
#

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

quartz storm
blissful lodge
#

and a transaction showed up with 3ds payment failed

quartz storm
#

so I'm not sure why or how, since I don't have access to your code

blissful lodge
#

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"

quartz storm
blissful lodge
#

you know what, i think i might see what could be the void invoice culrpit

quartz storm
#

as an example

blissful lodge
#

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);```
quartz storm
#

you need to listen to the invoice.* events instead of the payment_intent.* events

quartz storm
blissful lodge
#

ok so assuming i dont void the invoice, would the checkout flow handle the 3ds prompting on its own?

quartz storm
#

if a payment_intent.* event has a invoice ID on it, you shouldn't handle it

blissful lodge
#

i actually dont handle payment_intent events at all

quartz storm
#

ok cool

blissful lodge
#

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?

quartz storm
#

for the first invoice I'm pretty sure it does

blissful lodge
#

ok sweet

#

we'll give it a try

quartz storm
#

the problem lies in the handling of any future payment_failure in the future

blissful lodge
#

oh

true yewBOT
eternal ice
#

Hey, taking over here. Let me know if there's any follow-up Qs I can answer!

blissful lodge
#

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)

eternal ice
#

It's possible even if they don't update their payment method in sometimes in livemode

#

Your integration need to handle these kind of scenario as this depends on the bank issuer