#volco5952
1 messages · Page 1 of 1 (latest)
Only if the next_action.type is redirect_to_url
I'd recommend you to call stripe.confirmCardPayment and let Stripe.js to handle the next_action hash.
Right that's what we are doing but we have encountered the rare instance where the three_ds_method_url = "" and the 3DS attempt fails when trying to confirm it (no modal opens and the payment instantly fails). And we thought it would be because it is trying to redirect to a url but none exists so it fails. The vast majority of our 3DS payments have a non-empty three_ds_method_url
3DS2 supports frictionless 3DS, so it's entirely possible that the issuing bank went through frictionless 3DS and rejected the customer already
do you have an example PaymentIntent?
What is interesting about this case is that the user had previously used this card to successfully pass 3DS frictionlessly but their three_ds_method_url = "". Their latest attempts also have three_ds_method_url = "" but are failing, we think because their bank had decided to go through the challenge flow, rather than frictionless before, and there is no url to redirect hence fails
cus_NxE7QEejZcoEF6 is the customer
we need the specific PaymentIntent id, it has the prefix pi_
Sorry, pi_3OP5OU2k4WuoSsum0tQnCcKX
The customer is there to compare to their previous payments
for pi_3OP5OU2k4WuoSsum0tQnCcKX, the authentication was rejected by the issuer, your customer needs to reach out to their bank to find out why
Are you able to tell if it was frictionless or challenge flow?
Im guessing frictionless decline if nothing else popped up
Their bank indicates they received no records of failed transactions on their end according to the client
But I've found that a lot of the front level Customer service agents at banks are unfamiliar with how to access 3DS information
it's frictionless. If you need further details that you can provide to your customer to reach out to their bank, you can https://support.stripe.com/contact/email with that PaymentIntent id and ask if we can provide the acs transaction id for the 3DS authentication. This isn't something that we can share with you here on this channel.
If you're write in now, let me know when you're done so that i can find your ticket and direct it to the right team
Find help and support for Stripe. Our support site provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
I just sent in the email, thanks
onesec, let me track it down
So my theory of:
bank requests 3DS challenge flow -> looks for three_ds_method_url -> three_ds_method_url is empty -> redirect fails-> payment fails
doesnt really hold water? Haha
yeah, that's not true. From what I'm seeing for that PaymentIntent id you provided, 3DS was attempted, it was rejected by the issuer
Good to know, thanks. Is there any way for me to tell if a payment went through frictionless or challenge 3DS in the response payload or is that something only you can see?
In the Dashboard it differentiates when the 3DS attempt is successful but doesn't when it fails
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
hmmm, but i don't think that specific PaymentIntent you provided has a Charge object for you to look at though
Maybe because it failed?
API docs say that the value is for authenticated transactions and this one didn't go through
oh, you're right! 😆 you're better than me at reading the docs
anyway, i've redirected your support ticket to the right team and you should get a reply soono
Sounds good thanks for your help there!
So how were you able to tell if this pi was frictionless?
we can see this internally
Got it, so no external indicators to determine frictionless vs challenge for declines
yep