#lolo75
1 messages · Page 1 of 1 (latest)
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
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.
at a moment they'll close the page I assume ?
If the 3DS session is expired then you'll receive a payment event failure yes
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?
No but that depends on the bank's issuer
each bank issuer has a delay for completing 3DS sessions
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.
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
However, there is no mechanism in stripe that allows the event to be sent if the bank does not respond after a certain deadline?
What you mean by the "bank does not respond" ? you mean the customer doesn't complete the 3DS auth flow ?
Yes
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
I therefore cannot implement a blocking mechanism based on events in order to avoid duplicate payments.
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 ?
For each payment attempt, I re-create a payment intent because the pricing conditions may have changed or the payment methods authorized.
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