#Wanna Leave You-3ds

1 messages · Page 1 of 1 (latest)

restive orbit
#

I'll allow it :D. What's the Q?

robust trout
#

hi again 😄
i've talked to you a few days ago

#

i would ask, does 3DS rules change or it happens that 3DS can be reissued for already set up cards?

restive orbit
#

3DS can be requested for any transaction if even the card was previously setup/authenticated, yes

robust trout
#

in the last days we are experiencing lots of 3ds failed attempts, both on customers with new method and on old methods

restive orbit
#

Do you have an example payment I can see?

robust trout
#

just a momento

#

customer cus_L98ZMgU9Muj3BO has successfully performed almost 300 euros of transactions, yet his payment methods are now requesting the 3ds

#

i'm asking this because normally i would think the customer didn't authenticate, but it's not the only customer experiencing this, and we guess maybe something in the 3ds2 requests might not work well with our integrations

#

i was thinking also about the Radar rules, but it doesn't seem to be changed at all

restive orbit
#

customer cus_L98ZMgU9Muj3BO has successfully performed almost 300 euros of transactions, yet his payment methods are now requesting the 3ds
Sure, that can happen. The bank can determine if/when they request 3DS and your integration should account for that

robust trout
#

pi_3LQqLhIwEQ1cVQGW1S1TzmT6

#

this is the first pi of the customer that has failed, and the previous ones succeeded without error

restive orbit
robust trout
#

okay, but do you have any thoughts on why we are experiencing lots of 3ds requests sistemically?

restive orbit
#

Could be a number of reasons really. Perhaps the issuing bank has only just started to enforce SCA regulations

#

All we know is 3DS was requested by the bank on our initial payment attempt

robust trout
#

okok then we'll investigate with the customer to understand better the issue

#

thank you for your time!

restive orbit
#

Why can they not complete 3DS?

robust trout
#

actually i dont know, we we're monitoring and we have seen about 5 failed attempts, we'll now reach to the customer and ask if its a bank issue, or ours app issue

restive orbit
#

Are these off-session payments? Or is the customer in the checkout flow?

robust trout
#

he is in the cechkout flow

restive orbit
#

Then how is your integration confirming the Payment Intent in the front-end?

robust trout
#

and our app prompts the next_action url to the customer to complete the payment

#

mostly we work with redirect url, opened in browser

#

yet, from this on, we lose the feedback from the customer because he exits our app, and that's why we have to react him to understand the issue

restive orbit
#

You should be using confirmPayment from Stripe.js

robust trout
#

i kniw about that, but we are using a flutter mobile app, and stripe js is not integrable

robust trout
restive orbit
robust trout
#

no we create the payment intent server side, the app retrieves client secret from the server in the flow of the payment and uses it in the handleNextAction method, which prompts the next authentication steps

#

via the return url he is then returned to the app

restive orbit
#

Yeah, as explained you shouldn't do that

#

You need to use the payment UIs from the Flutter lib which automatically handles confirmation

robust trout
restive orbit
#

Flutter isn't an officially supported library I'm afraid

#

So that's the documentation

robust trout
#

ok we'll try to change our integration, but you think this might be the problem we are havingwith the authentication?

restive orbit
#

Where is handleNextAction from?

robust trout
#

it is a flutter_stripe method

restive orbit
#

Hmm, maybe it should work then. I don't know

#

But from the logs of those payments you've sent no 3DS auth attempt was made

robust trout
#

yeah the library doesn't have so much documentation, as far as we've seen, 3ds flow correctly prompts and allows most users to authenticate

#

but we don't have any test using a 3DS2 method, with notifications or messages from the bank

#

if it can help, this is how we are setting the payment intent server side, in order to receive a redirect url instead of a 3ds

{ amount: amount, currency: currency, setup_future_usage: 'off_session', payment_method_types: ['card'], payment_method: paymentMethodId, confirmation_method: "automatic", confirm: true, customer: user.customer.id, use_stripe_sdk: false, return_url: "app://beagleplug.com", }

#

we set use_stripe_sdk to false to receive the url instead of any other authentication method

frank canyon
#

Hi! I'm taking over this thread.

#

Can you try to summarize your question while I catchup on that thread?

robust trout
#

hi!

#

yeah the first question was about some payments that, even if the pm used were was set up for future payments and successfully authenticated, if was reissuing 3ds again, but failing multiple times

#

since we are experiencing this on several customers we are trying to inderstand if it is a more sistemic issue rather than a problem of the customer

frank canyon
#

even if the pm used were was set up for future payments and successfully authenticated, if was reissuing 3ds again
Is this in test mode or live mode?

robust trout
#

later i've started talking with @restive orbit about our 3dds flow and what can cause these problems

frank canyon
#

Yes this can happen. Basically it's the bank that decide to require the 3DS or not or each payment. So even if you already saved a card on Stripe and went through 3DS once, it can still be requested afterwards. So that's something that your integration needs to handle.

robust trout
#

yeah actually 3ds its requested to the customer on our app, through the flutter_stripe sdk, every time the status of the pi is requires_action

frank canyon
#

Yes when a PaymentIntent has status:requires_action, then it means the bank is requesting the 3DS flow.

robust trout
#

which through the library isnt actually handled

frank canyon
#

So you are saying that when using handleNextAction for 3DS2 it doesn't work? Do you get an error message?

robust trout
#

no, unfortunately it is only a supposition

#

beacuse we don't know why the customer isn't authenticatiing

frank canyon
#

Can you share a PaymentIntent ID where that happened?

robust trout
#

customer cus_L98ZMgU9Muj3BO, payment intent pi_3LQqLhIwEQ1cVQGW1S1TzmT6

#

with the same customer, the pi pi_3LO0TUIwEQ1cVQGW1ElR0gEP succeeded

#

and it has the same pm

#

just a few minutes ago, the payment intent pi_3LQrdtIwEQ1cVQGW2Ic4DPVK was successfully authenticated with 3ds2, perhaps the authentication flow is working correctly

#

so i guess it might be an error of the customer, or may it be a 3ds error of the bank?

frank canyon
#

Sorry for the delay, looking into this.

grizzled pivot
#

Hi there. Taking over for soma as they have to step out. This is a long-running thread. Can you give me a quick summary of what you're blocked on right now, and I can look into it

robust trout
#

hi there

#

i think we have found the issue

#

there are some issues from italian banks on mastercard circuit, because the 3ds fails because of a message of the bank