#cnguyen - payment webhook

1 messages · Page 1 of 1 (latest)

little quail
#

HI 👋

#

Do you have any request IDs I could look at?

shy valley
#

Yes. The timeline first

#

Confirm => req_DmgJnCbNnv8vH6
Then payment_intent.requires_action => req_DmgJnCbNnv8vH6
Then charge.failed => evt_3K0QwyED5xkfDv2c0QbYCJdl (no req_XXX)
Then payment_intent.payment_failed => evt_3K0QwyED5xkfDv2c0l4rwST6 (no req_XXX)

little quail
#

Okay the payment method in this case required 3DS authentication. Did you allow the user to provide this authentication?

shy valley
#

Normally yes, we ask the 3DS

#

We force it

#

But when I read the log, I see "3D Secure authentication succeeded
This transaction has been authenticated with 3D Secure 2. The customer was authenticated via a frictionless flow, without any additional input from them."

#

So it's like it's in frictionless mode. No ? So no ask for 3DS ?

#

(and I have no more info because the transaction is more than 30 days => no details so)

little quail
#

3DS is an authentication between the card issuer and the user. It should always require some friction since it should be outside your app.

shy valley
#

request_three_d_secure: 'any'

#

we force it as I said

#

But doesn't matter. I ask what's happening ? The hook payment_intent.succeeded was called so ? Because of the "frictionless" mode ?

#

Then just after, there is a payment_intent.failed hook called ? with the "Payment failed because card was reported lost or stolen" ?

#

I try to understand this edge case to handle it. For now, I only handle when the payment succeeded.

little quail
#

Okay so in this the issue is you received the payment_intent.succeeded webhook event and then payment_intent.failed, yes?

shy valley
#

I don't know. How I can know ?

shy valley
little quail
#

Unfortunately I cannot review many of these objects due to how old they are.

#

However we can see that, while auth was successful, the actual payment intent did not succeed

shy valley
#

Yes same for me. I 'm not sure to have the successful event

little quail
#

Because the bank reported the card lost or stolen, as your timeline suggests

shy valley
#

So it's not possible to have succeeded then failed directly ?

#

I have only that as log

little quail
#

No, the actual payment did not succeed.

shy valley
#

OK because it's weird to have :
3D Secure authentication succeeded. This transaction has been authenticated with 3D Secure 2.

#

But maybe, this event don't launch the pi succeeded event.

So it's weird that my code in the payment_intent.succeeded was called.

little quail
#

The 3DS secure authentication just authenticating with the user that they wish to be charged on the card in question. This is separate from the card issuer reporting the card was lost or stolen.

#

That is why there is no success event associated with this PI