#jvincent9556_docs
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฑ๏ธ We automatically close idle threads, which makes them read-only. Make sure you stick around to chat in realtime!
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1212430221689495563
๐ Have more to share? You can add more detail below, including code, screenshots, videos, etc.
โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question. Thank you for your patience!
Also, I found [this](#dev-help message) on the discord. I am working with React Native Expo
but they're using the PaymentSheet component
Hi there ๐ I am seeing the the Card Element supports 3DS:
https://docs.stripe.com/payments/payment-card-element-comparison#:~:text=Handles 3D Secure authentication
https://docs.stripe.com/payments/accept-a-payment?platform=react-native&ui=custom#:~:text=If authentication is required by regulation (for example%2C Strong Customer Authentication)%2C additional actions are presented to the customer to complete the payment process. See Card authentication and 3D Secure for more details
Are you seeing otherwise in your testing?
Hello Toby, thank you for your response. I think I misunderstand how it works. After inputting the card information, should I expect the StripeProvider to prompt the user to complete the 3DS challenge or will I be the one to handle it?
Also, does the 3DS prompt show when createToken is called on the client or when either createPaymentIntent or confirmPaymentIntent is called on the server?
It's typically triggered when you call confirmPayment client-side.
Are you doing server-side confirmation?
yes, we confirm payments on the server
would I need to handle it client side or is there a way to handle it server side too?
I think the flow for that, is to use createPaymentMethod to create a Payment Method from the Card Element and provide the ID of that Payment Method to your backend.
https://docs.stripe.com/js/payment_methods/create_payment_method
Then use that Payment Method to confirm the payment server-side, and if the payment requires authentication you return the client_secret of the Payment Intent to your frontend and use handleNextAction:
https://docs.stripe.com/js/payment_intents/handle_next_action
thank you! I wasn't aware of handleNextAction, I will try it and report back here. I appreciate the help
Any time!