#lolo75

1 messages · Page 1 of 1 (latest)

violet cobaltBOT
brisk laurel
#

hi

payment_intent.payment_failed is sent after 5 minutes if the 3DS is not completed. Can you confirm this information for me, that is to say that there is a timeout mechanism implemented in the 3DS?
Not there is no fixed delay (5min)

#

But you can rely on that webhook event

#

yes to cancel the PaymentIntent

unborn sail
#

If a client remains on the 3DS screen without ever confirming it, an event is emitted by stripe?

#

The customer is on the page and does not take any particular action.

brisk laurel
#

No

#

But if they cancel the 3DS or exit the page

#

yes you'll receive an event

brisk laurel
#

If the 3DS session is expired then you'll receive a payment event failure yes

unborn sail
#

I say that because I have the impression that there is a functional change. Previously for payment_intents with the status incomplete, they were seen as waiting for action from the client. Now, I no longer see payment_intent remaining in this state, they all go to payment_failed

#

Is the implementation of 3DS session expiration new?

brisk laurel
#

No but that depends on the bank's issuer

#

each bank issuer has a delay for completing 3DS sessions

violet cobaltBOT
unborn sail
#

Are you sure that nothing has changed, because we are going from everything to nothing. I find it strange that now all payment_intents are no longer stuck in a pending status. It's not a bad thing in itself, but when you tell me that only the bank can change the behavior of 3DS sessions, I find the coincidence strange that they all change their behavior overnight. I work on one of the largest (or the largest) French accounts and the volume of transactions reveals an overall change in behavior. It is important to understand that it is difficult to implement a software solution based on events whose behavior is variable from one bank to another.

brisk laurel
#

but when you tell me that only the bank can change the behavior of 3DS sessions, I find the coincidence strange that they all change their behavior overnight
No I didn't meant that all banks changed their behavior yesterday

#

but the expiration of the 3DS session depends on the bank issuer

#

In addition of getting the failure event, the Payment_Intent becomes in a status of requires_action (pending) for a while

#

until expiration

#

and transition again to requires_payment_method

unborn sail
#

However, there is no mechanism in stripe that allows the event to be sent if the bank does not respond after a certain deadline?

brisk laurel
unborn sail
#

Yes

brisk laurel
#

Just did a test, if the customer close the browser without completing the 3DS you won't receive the event payment_intent.payment_failure

#

You receive payment_intent.payment_failure if the customer cancel the 3DS auth popup/flow

unborn sail
#

I therefore cannot implement a blocking mechanism based on events in order to avoid duplicate payments.

brisk laurel
#

Why you are duplicating payments ?

#

if the Customer doesn't complete a payment you can reuse that payment intent

#

and ask the merchant to complete the 3DS flow or re-attempt to collect new PaymentMethod

#

Why you are re-creating duplicated PaymentIntent ?

unborn sail
#

For each payment attempt, I re-create a payment intent because the pricing conditions may have changed or the payment methods authorized.

brisk laurel
#

For each payment attempt, I re-create a payment intent because the pricing conditions may have changed
In that case it's expected to have ducplicated PaymentIntents