#francesco_nebulab

1 messages ยท Page 1 of 1 (latest)

winged grailBOT
wicked bough
#

Hi there! Can you share more on this: "created a payment method and setup intent, authenticated with 3DS"? Ideally, you should create the SetupIntent first then use its client secret to collect and confirm payment details on the frontend. Confirming the SetupIntent should automatically create the PaymentMethod. If you use one of our 3DS test cards, confirming the SetupIntent will also trigger 3DS

acoustic skiff
#

Hi ๐Ÿ‘‹, sure.

First, we post /api/stripe_setup_intents to get the secret and then create the setup intent using confirmCardSetup from the JS library. This works and approving the 3DS modal creates the setup intent successfully. I also see it succeeded in the Stripe UI.

Then on the server, we create a payment intent using the payment method created above, but it fails with this error: 3D Secure attempt incomplete

I can also share the IDs on Stripe if that's helpful

#

Sorry, I'm not super familiar with how it all ties together ๐Ÿ™ˆ

wicked bough
#

Yes, IDs would be helpful! Do you have the PaymentIntent ID?

acoustic skiff
#

Yeah, here is the payment intent ID: pi_3N5bsIBoPzpzxRU705phEUN2

wicked bough
#

Thanks! Okay, looks like you used the 3DS test card ending in 3220 when confirming the SetupIntent

#

3DS will always be required with this test card

acoustic skiff
#

Oh ๐Ÿคฆโ€โ™‚๏ธ, so a real card would be good to go after creating the setup intent?

wicked bough
#

I recommend using test card 4000002500003155

#

This test card should simulate what you're after: authenticate when setting up, do not authenticate for subsequent payment attempts

#

That said, a payment with a real card may still require 3DS even after being set up, as it's up to the issuing bank to decide whether additional authentication is needed or not

acoustic skiff
#

Got it. That explains the recommendation to ask the customer to come back and reauthenticate

#

Thanks for the help! ๐Ÿ™