#schezwann

1 messages · Page 1 of 1 (latest)

sullen remnantBOT
quasi folio
#

I need to charge off-session users but I'm stuck
I set the error_on_requires_action parameter to true otherwise my script generates payments that are never confirmed but I get an authentication_required error even though the card was authenticated with 3DS when creating the paymentMethod in a previous state

#

Hi! Let me help you with this.

#

Could you please share the PaymentIntent ID pi_xxx?

#

Also, it's normal to have a lot of PIs that are not confirmed.

vocal crest
#

pi_3NgNVrKCbVAaxKsX1qtd1Sq6

#

(It's in test environnent)

vocal crest
quasi folio
#

In any case, this one requires auth, and it shouldn't, so something is wrong. Checking...

#

Have you used a test card for this?

vocal crest
#

yes, I used the 3DS2 Required / 4000 0000 0000 3220 one

#

I have the same issue with Always authenticate / 4000 0027 6000 3184

#

I want to make sure I don't get the same error in production for banks that require 3DS

quasi folio
#

This card is used to test failing payments for Subscriptions, usually.

vocal crest
#

So there's no way to handle all out-of-session payments? There will always be cases where the bank will ask for authentication even if I've already collected it when creating the paymentMethod?

#

In other words, should I expect to get these cases in production or is it your test card that produces this behavior?

quasi folio
quasi folio
#

There's a setting in your Dashboard that let's Stripe send an email automatically, to collect a new payment method for a Subscription, when all attempts to pay an Invoice fail.

vocal crest
#

does this link sends the user to a Stripe page ?

#

Payment method are handled in a specific way in our system, I would need to send them to our site payment methods management page

#

Users can add a saved card, when doing so I create a paymentMethod and save the associated pm_[...] token

#

I then use the token to create an off-session paymentIntent when the user needs to be charged but is not the initiator

quasi folio
#

Sorry, I think Discord had some issues, we're back now.

vocal crest
#

no worries, did you receive the last 4 messages/lines?

quasi folio
quasi folio
vocal crest
#

finally, is there a way to detect whether a card always requires 3DS when creating the payment method?

#

If so, I'd better block the creation at that point, as the card won't be able to be used in our system

quasi folio
#

Most EU and UK cards require 3DS so that would cut of a lot of customers. I wouldn't recommend that. And then, if you set it up properly, most of them will be chargeable off-session without a problem. You will still need to handle failures, if the card expires or runs out of balance. So blocking 3DS is an unnecessary limitation.

vocal crest
#

cards requiring 3DS for off-session payment do not currently work in our system

quasi folio
#

Normally this won't happen.

#

But you can't tell if the card will require 3DS for off-session, before you try.

vocal crest
#

so for know I'll need to intercept authentication_required errors when/if they happen

quasi folio
#

Yes, same as all other errors

vocal crest
#

which test cards should I use to simulate a bank with 3DS only on the paymentMethod creation, and one with 3DS both on creation of the paymentMethod and paymentIntents ?

quasi folio
#

You mean

  1. Card that requires 3DS only during setup,
  2. Card that always requires 3DS?
vocal crest
#

yes

quasi folio
vocal crest
#

thank you for your precious help, that's all for now

quasi folio
#

Happy to help!