#frankp_21403
1 messages ยท Page 1 of 1 (latest)
Hello frankp_21403, we'll be with you shortly! Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
โข frankp_21403, 0 days ago, 7 messages
I was pulling the docs, please reopen
Let's continue here
https://stripe.com/docs/api/payment_intents/create - API
https://stripe.com/docs/payments/payment-intents#passing-to-client (Documentation)
3d https://stripe.com/docs/payments/3d-secure
https://support.stripe.com/questions/why-are-some-payments-successful-without-authentication-even-when-3d-secure-was-requested
These are the guides that our team used
Using this test card - I can reproduce the same experience that we see in prod //4000 0025 0000 3155 -- "requires auth"
Using this test card - I see a diff 3DSecure experience 4000000000003220
HI ๐
I"m stepping in as my colleague needs to go soon. What is the current state of your question? What is it you are trying to achieve?
Thanks Snufkin
Please review this thread which was closed after a short time.
Ultimately I am eager to understand how to better control the experience our customers are having when 3dsecure/auth is triggered within our app.
I'm not going to re-read the old thread.
Beyond 3D Secure being triggered whenever an issuing bank determines it is needed, what are you looking to control?
There are only 2 messages from me in the thread, it was just opened.
And you'll need to check the video example if you want to understand the probem.
I can also go back to our AE and find another route for support if this isn't the right place.
That depends, can you provide a crips and clear description of the behavior you are seeing and what about it you want to change?
Sure but please don't close this thread -
This is the experience that we are recieving today that makes our customers feel uneasy because it is not clear what is actually going on. All we get at the end of this "hooks.stripe" popup is "Auth Complete" - we'd like to be able to customize the experience so they know what is happening -- is it possible to keep the hook inside our app's frame? Or provide a message? "We're checking with your bank. Please wait until it says Complete!"?
Can you confirm what is actually happening with this "Auth Complete" workflow?
I can reproduce this same experience using this test card --> 4000 0025 0000 3155
Do you want an example payment intent from dev?
I want a Payment Intent that went through the process you are describing
sure 1 sec
pi_3O3KZ0KzGpQ7khdc1yd5l3pG
and here is an example PI for the other experience that I was describing above where the nicer looking 3DSecure window pops up #1164950697557639218 message -- pi_3O3KcWKzGpQ7khdc1S7PUQaE
Hmmm... both appear to have used the same challenge authentication flow
do you see the difference in screenshots though?
the experiences were totally different
Yes, that is what is confusing me too
looking at my dashboard, I actually see a difference
the first one that we do not like looks like was 3DSecure1 where the other one is 3DSecure2
I am seeing 3D secure network conversations for both
Ah, right! One was 3DS1 (which is deprecated now) and the other was 3DS2
but we don't have any control over that do we?
No, this is entirely controlled by the issuing banks and all traffic is moving to 3DS2 anyway
the "Authentication Complete" window cannot be changed at all?
or the workflow
I did see in the react native sdk documentation that there was a way to give styling to the StripeProvider element
but this doesn't change the way the 3dsecure2 flow looks?
No, not at all. Neither Stripe nor you have access to the content within that window. It is entirely controlled by the issuing bank for security purposes
Is there a way to configure the app to keep the flow inside our frame?
rather than it leaving the app?
There is but it is very manual, we do not offer much in the way of support, and we don't recommend it.
๐
These steps discuss how to trigger the 3DS flow within the Stripe Provider but we cannot offer any support here beyond what is shown in this doc directly
Why isn't it recommended?
Because we have built a lot of edge case handling into our automated approach and you don't get the benefit of it if you chose to display 3DS yourself.
Is there documentation around those edge cases?
Nope
BTW - adding those params to my stripe provider doesn't change anything. Is there something else that must be configured for displaying this ourselves?
Which is why we don't have much support offered here. Knowing those edge cases and how to handle them isn't something anyone that staffs this Discord server will know.
Oh wait, you're right I'm not seeing the manually dispaly option...in any docs
yeah - it's confusing since the link you shared is seemingly what we want
and there is no mention of it not being supported
Ah I don't think it is supported in the mobile platforms. I do see it when I switch the platform tab to Web
Along with one of the reasons we don't recommend doing this yourself
Stripe.js collects basic device information during 3D Secure 2 authentication and sends it to the issuing bank for their risk analysis
what if ONLY styling is applied? i.e. nav bar header
threeDSecureParams={{
backgroundColor: '#FFFFFF', // iOS only
timeout: 5,
label: {
headingTextColor: '#0000',
headingFontSize: 13,
},
navigationBar: {
headerText: '3d secure',
},
footer: { // iOS only
backgroundColor: '#FFFFFF',
},
submitButton: {
backgroundColor: '#000000',
cornerRadius: 12,
textColor: '#FFFFFF',
textFontSize: 14,
},
}}
it doesn't seem like this would change anything else
I need to drop for now but will come back later in case there is more information you can provide on the documentation front. I will begin to summarize this thread to share back with our AE who is helping us track this ticket. Please don't delete this thread.