#chriswdib

1 messages · Page 1 of 1 (latest)

dim jayBOT
faint elm
ashen wedge
#

Thanks, I already tried, I've be phoned by someone who only speaks english

faint elm
#

You should be able to send an email in French.

ashen wedge
#

I have questions about PaymentIntent status and expiration. Is it the right place to ask ?

faint elm
#

Sure, how can I help?

ashen wedge
#

Let's consider the case where an user takes to much time to complete 3DS process

The 3DS will expire and even if he tries to complete later, it will be too late

So i was wondering how to deal with this case

I was expecting the PaymentIntent to fall back to requires_payment_method after delay
But I notice the PaymentIntent stays at requires_action status

So how to deal with that, how to restart a new payment into the same PaymentIntent ?

faint elm
#

You might need to re-create a PaymentIntent in this case.

ashen wedge
#

So PI will stay in this state for ever with no way to change it ???
Why don't you implement expiration ?

faint elm
#

Are you not able to confirm the PaymentIntent again?

ashen wedge
#

I'm not sure I understant 🙂

faint elm
#

how to restart a new payment into the same PaymentIntent
What do you want the customer flow to be in this case? They abandon the 3DS, and then what?

ashen wedge
#

I was expecting, after a some time, the PaymentIntent to come back to requires_payment_method and to be able to try another payment

faint elm
#

You can try another payment as-is.

#

Or is it not working for you?

ashen wedge
#

Staying at requires_action is a nonsense as the action is no more possible, as the 3DS process is expired

ashen wedge
#

In other words is it possible to make PI go back to requires_payment_method status ?

faint elm
ashen wedge
#

Sorry
This one ? "You can try another payment as-is.
Or is it not working for you?"

faint elm
#

No,

What do you want the customer flow to be in this case? They abandon the 3DS, and then what?

ashen wedge
#

Yes I answered,
And then to start another payment into the same PaymentIntent

This is what I try to do

If user leave 3DS flow or if he takes too more time to complete it, I want to give him another chance to pay

dim jayBOT
ashen wedge
#

So the flow would look like that
1/ PI creation => requires_payment_method
2/ Payment info are provided => requires_action
3/ User enter 3DS process
4/ User do nothing
5/ We detect it's too late to complete 3DS and we consider 3DS process is expired
6/ Come back to requires_payment_method
7/ goto step 2 until succeeded

willow wing
#

So the issue here is that not all banks consider 3DS expired after some amount of time and as far as I know, banks do not tell Stripe when they consider 3DS to be expired. So it is expected behavior for the intent to stay in an requires_action state indefinitely because many banks will allow 3DS to be completed even after some time.

#

So the normal process here is to continue handling the next action as long as the payment is in a requires_action status. As far as I know there isn't a way to manually switch the intent back to a requires_payment_method state but I will double check

ashen wedge
#

oh ok, I was thinking there was an "official" max time for all banks

ashen wedge
willow wing
#

No, just tested and the user can always input a new payment even when the intent is in a requires_action status

#

So when it is in a requires_action state you can either direct your user complete the required action or let them input new details if they want to start over

ashen wedge
#

I'll try that, thanks

#

It works
I just load again JS payment framework with the same PI ID
User can input again payment details

#

Thanks a lot for your helo

#

help