#Frank LaRosa-3DS
1 messages · Page 1 of 1 (latest)
Hi 👋 can you clarify what integration path you're referring to when you say this?
My web site uses the standard credit card entry form provided by Stripe.
What is the status of the Payment Intent object when it is showing as incomplete?
well, i'm not the web developer, but I think he's just calling a Stripe javascript function that puts up a credit card input form. I'll find out exactly what function that is.
requires_action is the status
Gotcha, so requires_action is the status where 3DS would need to be triggered. Is your page publicly accessible by chance?
not really. you need an account to get to the payment screen.
this is what the form looks like, if that helps
I'm checking with my web developer for more information.
Web developer says: We're using a react library from Stripe that contains the stripe credit card input as a React component
Gotcha, so that looks like our Card Element. Do you have the ID of a payment intent where you saw this behavior that we could take a closer look at?
do you want a live one or a test one?
Live: pi_3KPdYBFxonzCeBTz0rG2duCK
Test: pi_3KPxDLFxonzCeBTz1hkBEQyx
Thanks for those! I'm a little confused though as those payment intents are being confirmed server side, and the payment methods associated with them are also being created server side rather than via the Card Element.
Whoops, sorry, that last bit is wrong. The payment methods are being created via the Card Element.
the PaymentIntent is created on the server using a PaymentMethod that is passed in from the web application.
Gotcha, so if you're confirming the payment intent server-side, then you'll need to monitor the Payment Intent to see if it goes into a requires_action status, and if so then you'll need to have Stripe JS handle the next actions with this function:
https://stripe.com/docs/js/payment_intents/handle_card_action
what's the output of the handle_card_action function?
also, do I need to store the PaymentIntent and go back to it later or can I create a new PaymentIntent later?
finally, is it possible for the web application to know that an action is required before it sends the payment method to the server?
The output of that function is shown in the Returns section of the doc that I linked to.
What do you mean store the payment intent and go back to it later?
I suggest that you experiment with client-side confirmation as it handles any 3DS requirements while collecting the customer's payment information.
https://stripe.com/docs/js/payment_intents/confirm_card_payment
in other words, on my server right now, if the PaymentIntent ends up in the incomplete state, I just throw it away and say the transaction failed. My system doesn't have the concept of partially completed payments.
i'll review these options with my web developer. thanks.
If you create a new Payment Intent then, based on what you've described so far, it'll likely end up in the same state as the previous one and if you don't keep those then it'll also likely get discarded.
ok thanks. i think i know what to do.