#lauren_02189

1 messages · Page 1 of 1 (latest)

weary sluiceBOT
woeful drift
#

You can't really as that flow is dependent entirely on your customer being on-session to provide their card details into a Stripe payment UI

#

4000002760003184 always requires authentication, even if you set it up. So that explains that error

coarse crater
#

Is it possible to find out that the payment method always requires the presence of the client?

woeful drift
#

We try to optimise for such situations via a Setup Intent

coarse crater
#

It turns out that even if the client adds a payment method using Setup Intent, we still cannot determine that confirmation is always needed for this payment method?

woeful drift
#

Correct yes

#

The Setup Intent will optimise for off-session payments, but ultimately the bank can still request auth/3DS on a per payment basis. There's no way to know that ahead of time

coarse crater
#

Another question using the card 4000002500003155

I added a payment method and confirmed it.

Is it possible not to output auth/3DS confirmation every time using client Secret?

I'm talking about the part on the client

stripe.confirmCardPayment(clientSecret, {
payment_method: paymentMethodId,
});

woeful drift
#

Not sure what you're asking me

#

I added a payment method and confirmed it.
How did you do that?

coarse crater
woeful drift
#

Well 3184 requires auth unless setup. So it depends on how you created the paymentMethod you're pasisng there. Can you share some IDs please

coarse crater
#

I mean

  1. create payment Intents and return Client Secret

  2. Using Client Secret to confirm the payment.

Is it possible to skip 3D Secure if it was passed 1 time, or is it activated anyway when the function is called

stripe.confirmCardPayment(clientSecret, {
payment_method: paymentMethodId,
});

woeful drift
#

As I said, it's hard for me to know for sure what the issue is without some IDs

#

Specifically the pm_xxx ID that maps to paymentMethodId there

coarse crater
woeful drift
#

As I said, it depends on how you created the pm_xxx object

#

In your your original post you shared code using createPaymentMethod, which doesn't correctly setup the card

#

If you just share the pm_xxx ID I can verify this 🙂

coarse crater
#

pm_1NuuzrKl9ID02LDIhzkZVXXY

woeful drift
#

Don't use that function/API. Instead, use a Setup Intent and collect payment details via UI like the Payment Element and confirm the intent

#

That likely explains why confirmCardPayment is requesting 3DS/auth as the test card hasn't been setup correct

coarse crater
# woeful drift In your your original post you shared code using `createPaymentMethod`, which do...

Using
pm_1NuwGLKl9ID02LDIFZtrtbH1

And client_secret
pi_3NuwGsKl9ID02LDI0KoQogRw_secret_B8dYKtTTHLsPRYJ1YQb0W6xGF

I always have a 3D Secure form displayed, is this how it should be?

stripe.paymentIntents.create({
amount: 10099,
currency: 'usd',
description: 'Test',
customer: stripeCustomerId,
payment_method: paymentMethod,
});

stripe.confirmCardPayment(clientSecret, {
payment_method: paymentMethodId,
});

shadow shard
#

Hi! I'm taking over this thread.

#

Looks like you used this test card that ends with 3184:

This card requires authentication on all transactions, regardless of how the card is set up.

#

So yes it's expected that 3DS is always required.

coarse crater
#

I just need to understand when we use confirm Card Payment it will always output a 3D Secure form for cards that require it or can it be output only 1 times

shadow shard
coarse crater
#

Thank you now I realized that this will always appear regardless of the fact that the client has already passed this check