#JE-3ds-test-cards

1 messages ยท Page 1 of 1 (latest)

undone cypressBOT
tepid fiber
#

Hi! Let me help you with this.

#

That's not correct. requires_capture just means that you need to manually capture the funds after the payment method was authorized for the payment. You don't need to go through 3DS again.
You might be confusing it with requires_action.

golden violet
#

Yes, requires_capture is the state that I receive when I use a card without the 3ds active. This is the state that I am looking when I want the card that has 3ds active returned to me during the process of checkout. But when I add a card that has 3ds active, even accepting the authentication and saving the card, when I try to check out, the payment Intent confirmation return me the state of "requires_action".

tepid fiber
#

Could you please share one such PaymentIntent ID? pi_xxx

golden violet
#

yes

#

just one sec

#

pi_3NYq5vGlugZ9pH8B13512ow4

#

This is the card that I was testing

warm kettle
#

Hi there ๐Ÿ‘‹ jumping in as my teammate needs to step away soon. Please bear with me a moment while I pull up that intent.

#

The test card you're using there, the one ending in 3246, is designed to always trigger a 3DS challenge, regardless of whether the Payment Method previously went through a Setup Intent. It is ultimately up to the issuer of a card to decide whether they will require a 3DS challenge to be completed for any transaction. When a Payment Method goes through the setup process, we do everything we can to minimize the chances that 3DS will need to be completed again, but we don't have full control over that so that test card is available to simulate scenarios where 3DS needs to always be completed.

I would suggest testing with the 3155 test card if you want to see the flow where an issuer only requires 3DS for the setup portion, and not subsequent payments.

#

JE-3ds-test-cards

golden violet
#

Nice, I will test it. But let's say I do accept the 3ds authentication, where stripe stores the success state, and how can I retrieve this information?

#

Having the control of this information, would be nice

warm kettle
golden violet
#

I have teste the card 3155, but I still got the confirmation with the status "requires_action". The paymentIntentId is pi_3NYqWjGlugZ9pH8B0yuZ3cCb

#

The payment I am trying to do is on_session

warm kettle
#

I'm not seeing anything wrong otherwise so far, so I think the behavior of that test card may be to always require 3DS for on-session payments. Let me know if that behavior persists after switching to creating an off-session Payment Intent.

golden violet
#

I will give a try

golden violet
#

Sorry but the still getting the same result as before

#

pi_3NYr4eGlugZ9pH8B1QRrSEMJ

warm kettle
#

You're passing the setup_future_usage parameter set to off_session when creating the Payment Intent, instead of passing the off_session parameter set to true.

golden violet
#

My bad, I will change it

warm kettle
#

All good, it slipped my mind that we have a parameter with the same name as a value another parameter accepts, I could have been more explicit ๐Ÿ˜…

golden violet
#

Hahahha no worries, this is my first time working Stripe, and this 3ds is new for me!

undone cypressBOT
golden violet
#

Hello Toby, it worked like a charm !!! Happy days! But I got a question.
Setting the parameter confirm: true while creating the payment Intent, the stripe.paymentIntents.confirm action is not required.

#

pi_3NYrmDGlugZ9pH8B0YI4jbyU

#

you can have a look

warm kettle
#

Correct, you can set confirm to true when creating the Payment Intent (as long as you also provide it a Payment Method), which will create and confirm the intent in a single request. You won't need to make an additional request to handle the confirmation.

golden violet
#

But I will create some more tests

#

But thank you for the support, helped a lot! I was stuck on this since Tuesday hah hah

warm kettle
#

Happy to help, and glad to hear it's now working as expected!